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和keppilso
i@Kep说得好。我没听清楚。谢谢谢谢你,伊兰和凯皮尔
List<E> temp = new ArrayList<E>(list);
for (int i = 0; i <= list.size(); i++)
for (int i = 0; i < list.size(); i++)