当前位置: 首页 > 知识库问答 >
问题:

如何追加元素在最后的ArrayList在Java?

夔修伟
2023-03-14

我想知道,我如何追加一个元素到一个ArrayList的结尾在Java?这是我到目前为止的代码:

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的末尾追加随机字符串,就像一个堆栈(因此命名为“推送”)。

非常感谢您抽出时间!

共有3个答案

公冶鸣
2023-03-14

我遇到了类似的问题,只是将数组的末尾传递给了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);
    }

}
元昊苍
2023-03-14

我知道这是一个老问题,但我想自己回答。如果你“真的”想添加到列表的末尾,而不是使用list,这里有另一种方法。添加(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;
    }

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

汪博达
2023-03-14

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

    //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();
 类似资料:
  • 问题内容: 我需要将元素添加到队列中,但是当我调用函数添加元素时,我希望它在数组的开头添加元素(因此它具有最低的索引),并且如果数组有10个元素添加一个新的结果将删除最旧的元素(具有最高索引的元素)。 有没有人有什么建议? 问题答案: 具有方法,因此您可以使用: 之后,您可以使用以下命令删除最后一个元素: 但是,您可能需要重新考虑您的要求或使用其他数据结构,例如 编辑 也许看看Apache的: 是

  • 问题内容: 下面有一个for循环代码。我通过调用一个自定义显示函数发现aBook arrayList对象仅添加了最后一个类对象三次。为什么会这样呢? 这是我的LiFiAddressBook类 } 问题答案: 由于使用static关键字,每次 调用构造函数时,旧值都会被新值覆盖,并且在打印列表中的元素时,LiFiAddressBook类的对象变量将指向相同的对象。因此打印相似的对象。 需要明确的是,

  • 我需要在队列中添加元素,但当我调用函数添加元素时,我希望它在数组的开头添加元素(因此它的索引最低),如果数组有10个元素,添加一个新元素将导致删除最旧的元素(索引最高的元素)。 有人有什么建议吗?

  • 问题内容: 我有这个android代码,它从服务器中获取一个JSON并从该JSON填充一个ArrayList,我在onresponse空隙内检查了ArrayList“ meals”的大小,它给了我1,但是当我在StringRequest对象后对其进行检查时,我得到了0个项目。进餐在全局范围内定义,并在oncreateview函数内部进行初始化代码: 问题答案: 这里的问题是关于了解任务如何工作的。

  • 问题内容: 我有一个简单的字典,其定义如下: 现在,我想在此字典中添加一个元素: 如何添加到现有词典中? 问题答案: 您正在使用。除非出于某种原因明确需要将其设为该类型,否则我建议使用Swift字典。 您可以通过迅捷的字典任何期望的功能而无需任何额外的工作,因为和无缝地弥合彼此。Swift的本机方式的优点是字典使用泛型类型,因此,如果将其定义为键和值,就不会错误地使用不同类型的键和值。(编译器代表

  • 请帮助我下面的代码,我得到相同的输出,即使改变值 值9未更新。