import java.util.ArrayList;
import java.util.List;
import java.util.Collection;
public class ArrayListDemo03 {
public static void main(String args[]){
List<String> allList=null;
allList =new ArrayList<String>();
allList.add("Hello");
allList.add("World");
allList.add(0,"YuuW24k");
Collection<String> allCollection=null;
allCollection =new ArrayList<String>();
allCollection.add("Sad");
allCollection.add("or");
allCollection.add("Happy");
allList.addAll(1, allCollection);
System.out.println(allList);
System.out.print("由前向后输出:");
for(int i=0;i<=allList.size();i++){
System.out.print(allList.get(i)+",");
}
System.out.print("\n由后向前输出:");
for(int i=allList.size();i<=0;i--){
System.out.print(allList.get(i)+",");
}
}
}

解决方案 »

  1.   

    下面两个循环改成这样就可以了
    for(int i=0;i<allList.size();i++){
    System.out.print(allList.get(i)+",");
    }
    System.out.print("\n由后向前输出:");

    for(int i=allList.size()-1;i>=0;i--){
    System.out.print(allList.get(i)+",");
    }
      

  2.   

    [YuuW24k, Sad, or, Happy, Hello, World]
    由前向后输出:YuuW24k,Sad,or,Happy,Hello,World,Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 6
    at java.util.ArrayList.rangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at ArrayListDemo03.main(ArrayListDemo03.java:20)还是不行哦~
      

  3.   

    for (int i = 0; i < allList.size(); i++) {
    System.out.print(allList.get(i) + ",");
    }
    System.out.print("\n由后向前输出:");
    for (int i = allList.size()-1; i >= 0; i--) {
    System.out.print(allList.get(i) + ",");
    }
      

  4.   

    应该i<alllist.size(),你写的越界了
      

  5.   

    正解,下标遍历别忘了是0到length-1。这个问题以前也被坑过好多次啊啊啊啊
      

  6.   


    你是没有减1吧
    for (int i = allList.size()-1; i >= 0; i--) {
    System.out.print(allList.get(i) + ",");
    }
      

  7.   

    现在的开发工具(eclipse等),越界没有错误提示吗?