web-dev-qa-db-ja.com

JavaでArrayListの最後に要素を追加する方法は?

JavaのArrayListの最後に要素を追加するにはどうすればいいのでしょうか?ここに私がこれまでに持っているコードがあります:

public class Stack {

    private ArrayList<String> stringList = new ArrayList<String>();

    RandomStringGenerator rsg = new RandomStringGenerator();

    private void Push(){
        String random = rsg.randomStringGenerator();
        ArrayList.add(random);
    }

}

「randomStringGenerator」は、ランダムな文字列を生成するメソッドです。

基本的に、スタックのようにArrayListの最後に常にランダムな文字列を追加したいと思います(そのため、 "Push"という名前になります)。

お時間をありがとうございました!

18
Nora

以下に構文を示します。その他の便利な方法もあります。

    //add to the end of the list
    stringList.add(random);

    //add to the beginning of the list
    stringList.add(0,  random);

    //replace the element at index 4 with random
    stringList.set(4, random);

    //remove the element at index 5
    stringList.remove(5);

    //remove all elements from the list
    stringList.clear();
33

これは古い質問であることは知っていますが、自分で答えを出したかったのです。 list.add(str)を使用する代わりにリストの最後に「本当に」追加したい場合、これを行う別の方法がありますが、この方法で行うことができますが、お勧めしません。

 String[] items = new String[]{"Hello", "World"};
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list, items);
        int endOfList = list.size();
        list.add(endOfList, "This goes end of list");
        System.out.println(Collections.singletonList(list));

これは、リストの最後に項目を追加する「コンパクト」な方法です。ここでは、nullチェックなどを使用してこれを行うより安全な方法です。

String[] items = new String[]{"Hello", "World"};
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list, items);
        addEndOfList(list, "Safer way");
        System.out.println(Collections.singletonList(list));

 private static void addEndOfList(List<String> list, String item){
            try{
                list.add(getEndOfList(list), item);
            } catch (IndexOutOfBoundsException e){
                System.out.println(e.toString());
            }
        }

   private static int getEndOfList(List<String> list){
        if(list != null) {
            return list.size();
        }
        return -1;
    }

リストの最後にアイテムを追加する別の方法、ハッピーコーディング:)

1
SamzSakerz
import Java.util.*;


public class matrixcecil {
    public static void main(String args[]){
        List<Integer> k1=new ArrayList<Integer>(10);
        k1.add(23);
        k1.add(10);
        k1.add(20);
        k1.add(24);
        int i=0;
        while(k1.size()<10){
            if(i==(k1.get(k1.size()-1))){

            }
             i=k1.get(k1.size()-1);
             k1.add(30);
             i++;
             break;
        }
        System.out.println(k1);
    }

}

この例は、より良い解決に役立つと思います。

0
KEERTHAN K C