ArrayList array1=new ArrayList();
ArrayList array2=new ArrayList();
array1.add("111");array1.add("222");array1.add("333");array1.add("444");array1.add("555");
array2.add("aaa");array2.add("111");array2.add("bbb");array2.add("222");array2.add("ccc");array2.add("333");
System.out.println(array1);
System.out.println(array2);
ArrayList newArray=(ArrayList)array1.clone();//clone,newArray:[111,222,333,444,555]
array1.removeAll(array2);//这一步操作之后,array1:[444,555]
newArray.removeAll(array1);//这一步操作之后,newArray:[111,222,333],这个应该就是你需要的结果了
System.out.println(newArray);
ArrayList array2=new ArrayList();
array1.add("111");array1.add("222");array1.add("333");array1.add("444");array1.add("555");
array2.add("aaa");array2.add("111");array2.add("bbb");array2.add("222");array2.add("ccc");array2.add("333");
System.out.println(array1);
System.out.println(array2);
ArrayList newArray=(ArrayList)array1.clone();//clone,newArray:[111,222,333,444,555]
array1.removeAll(array2);//这一步操作之后,array1:[444,555]
newArray.removeAll(array1);//这一步操作之后,newArray:[111,222,333],这个应该就是你需要的结果了
System.out.println(newArray);
解决方案 »
- java异常处理问题
- 高手请进!!!
- Runtime.exit(int status)方法的问题。
- 关于包路径的问题.
- 急!!!java list 中查找 按指定字符分段读取
- 从键盘输入一个字符串,按反序输出用JAVA怎么实现。
- 江湖救急!应用socket引起所有的network应用程序出错,如MSN,outlook...
- 怎样通过名字获得类成员的reference?
- Java调用控制台程序,如何得到控制台程序的输出?[高手进]
- J2SDK1.4.1_03哪里可以下载,请哪一们大哥提供一个,我在官方网站上下不了,谢谢!
- 一个简单算法题目,帮我想一个方法实现好吗?
- 请问在一个较小的窗口中浏览一幅很大的图,用java怎么做到,就比如说,在打游戏的时候,我们只能看到地图的局部,但能过移动鼠标就可以浏
List array2 = new ArrayList();
array1.add("111");
array1.add("222");
array1.add("333");
array1.add("444");
array1.add("555");
array2.add("aaa");
array2.add("111");
array2.add("bbb");
array2.add("222");
array2.add("ccc");
array2.add("333");
List resultList = new ArrayList();
for (Iterator i = array1.iterator(); i.hasNext();) {
Object temp = i.next();
if (array2.contains(temp)) {
resultList.add(temp);
}
}最后的relustList就是你想要的东西
用for来循环contains,效率更低
如果你看了removeall的源代码你就不会这样说了,里面就是这样处理的,而且你还用了两次.