Java 集合中的数组索引越界,如何?
我正在处理一个集合,在该集合中,我试图反转一个列表,并得到如下错误:Java 集合中的数组索引越界,如何?,java,arraylist,collections,Java,Arraylist,Collections,我正在处理一个集合,在该集合中,我试图反转一个列表,并得到如下错误: Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.get(ArrayList.java:429) at com.java.commonMe
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at com.java.commonMethods.CommonClass.rev(CommonClass.java:22)
at com.java.commonMethods.CommonClass.reverse(CommonClass.java:27)
at com.java.commonMethods.CallToCommonMethods.callToCount(CallToCommonMethods.java:24)
at com.java.commonMethods.CallToCommonMethods.main(CallToCommonMethods.java:42)
您可以检查我用来反转的代码,如下所示:
public static <E> void rev(List<E> list) {
List<E> temp = new ArrayList<E>();
for (int i = 0; i <= list.size(); i++) {
list.set(i, temp.get(list.size() - i - 1));
}
}
public static void reverse(List<?> list) {
rev(list);
}
公共静态无效版本(列表){
List temp=new ArrayList();
对于(int i=0;i您的temp
列表为空,因此使用任何索引在该列表上调用get
,将引发IndexOutOfBoundsException
异常
我假设您打算使用原始列表的元素初始化temp
因此,改变
List<E> temp = new ArrayList<E>();
到
for(int i=0;i
您的temp
列表为空,因此使用任何索引调用该列表上的get
,将引发索引自动边界异常
异常
我假设您打算使用原始列表的元素初始化temp
因此,改变
List<E> temp = new ArrayList<E>();
到
for(int i=0;i
@Tunaki我想你需要检查这个问题,如果你真的知道我真正想问什么,就标记为重复。@Tunaki我想你需要检查这个问题,如果你真的知道我真正想问什么,就标记为重复。i@Keppil很好。我错过了。谢谢hanks@Eran和keppilsoi@Kep说得好。我没听清楚。谢谢谢谢你,伊兰和凯皮尔
List<E> temp = new ArrayList<E>(list);
for (int i = 0; i <= list.size(); i++)
for (int i = 0; i < list.size(); i++)