我是 Java 新手,请帮助我。
我的程序是
import java.util.*;
import java.lang.*;
class Test
{
public static void main(String[] args)
{
ArrayList al=new ArrayList();
al.add("a");
al.add("b");
for(int i=1;i<=10;i++)
{
al.add(i);
}
al.remove("a");
al.set(1,"c");
for(int j=3;j<=al.size();j++)
{
al.set(j,"z");
}
System.out.println(al);
}
};
以上任何错误.........请帮助我
最佳答案
a) 你需要公开这个类来运行它:
public class Test
{
b) 最后一个分号是语法错误 不,不是,这只是不必要的干扰。
c) 这失败了 IndexOutOfBoundsException
:
for(int j = 3; j <= al.size(); j++){
al.set(j, "z");
}
它需要是:
for(int j = 3; j < al.size(); j++){
al.set(j, "z");
}
解释:列表索引是从零开始的,所以n个元素的列表的最高位置是n-1
顺便说一句,上面的代码可以写成这样更优雅的方式:
Collections.fill(al.subList(3, al.size()), "z");
引用:
关于java - ArrayList 中的 set(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5336491/