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

时间:2014-03-24 13:16:31

标签: java arraylist append

我想知道,如何将一个元素附加到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);
    }

}

&#34; randomStringGenerator&#34;是一种生成随机字符串的方法。

我基本上总是想在ArrayList的末尾附加随机字符串,就像堆栈一样(因此名称&#34; push&#34;)。

非常感谢你的时间!

4 个答案:

答案 0 :(得分:32)

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

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

答案 1 :(得分:1)

我知道这是一个老问题,但我想回答一下这个问题。这是另一种方法,如果你真的&#34;想要添加到列表的末尾而不是使用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));

这是&#39; Compact&#39;将项添加到列表末尾的方法。 这是一种更安全的方法,使用空检查等等。

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

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

答案 2 :(得分:0)

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

}

我认为这个示例将帮助您寻求更好的解决方案。

答案 3 :(得分:0)

我遇到了类似的问题,只是将数组的末尾传递给ArrayList.add()索引参数,如下所示:

public class Stack {

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

    RandomStringGenerator rsg = new RandomStringGenerator();

    private void push(){
        String random = rsg.randomStringGenerator();
        stringList.add(stringList.size(), random);
    }

}