如何在Java中在ArrayList的末尾附加元素?

2022-09-01 11:41:49

我想知道,如何在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”)。

非常感谢您抽出宝贵时间接受采访!


答案 1

以下是语法,以及您可能会发现有用的其他一些方法:

    //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();

答案 2

我知道这是一个老问题,但我想自己做一个答案。这是另一种方法,如果你“真的”想添加到列表的末尾,而不是使用你可以这样做,但我不建议这样做。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));

这是将项目添加到列表末尾的“紧凑”方式。这是一种更安全的方法,包括空值检查和更多。

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;
    }

这是将项目添加到列表末尾的另一种方法,快乐编码:)