我想知道,如何将一个元素附加到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;)。
非常感谢你的时间!
答案 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);
}
}