public static void main(String[] args) {
List<Integer> a = new ArrayList<Integer>();
for (int i = 0; i < 7; i++) {
a.add(i);
}
List<Integer> c = new ArrayList<Integer>();
for (int i = 0; i <5 ; i++) {
c.add(i);
}
System.out.println("test1的值:"+test1(a,c));
System.out.println("test2的值:"+test2(a,c));
System.out.println("test3的值:"+test3(a,c));
System.out.println("test4的值:"+test4());
System.out.println("test5的值:"+test5());
}
private static List<Integer> test1(List<Integer> a,List<Integer> c){
List<Integer> b = a;
b.removeAll(c);
return a;
}
private static List<Integer> test2(List<Integer> a,List<Integer> c){
List<Integer> b = new ArrayList<Integer>(a);
b.removeAll(c);
return a;
}
private static List<Integer> test3(List<Integer> a,List<Integer> c){
List<Integer> b = new ArrayList<Integer>();
b.addAll(a);
b.removeAll(c);
return a;
}
private static String test4(){
List<Integer> a = new ArrayList<Integer>();
for (int i = 0; i < 7; i++) {
a.add(i);
}
List<Integer> c = new ArrayList<Integer>();
for (int i = 0; i <5 ; i++) {
c.add(i);
}
List<Integer> b = new ArrayList<Integer>();
b.addAll(a);
b.removeAll(c);
return a.toString();
}
private static String test5(){
List<Integer> a = new ArrayList<Integer>();
for (int i = 0; i < 7; i++) {
a.add(i);
}
List<Integer> c = new ArrayList<Integer>();
for (int i = 0; i <5 ; i++) {
c.add(i);
}
List<Integer> b = new ArrayList<Integer>(a);
b.removeAll(c);
return a.toString();
}
输出结果如图:
为什么2 3 的结果和4 5 不一样???