java List比较_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java List比较

java List比较

 2015/5/5 16:05:51  guanrain  程序员俱乐部  我要评论(0)
  • 摘要:快速得到两个list中不同部分的listimportjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;publicclassTesList{publicstaticvoidmain(String[]args){List<String>list=newArrayList<String>();list.add("123");list.add("456")
  • 标签:list Java
快速得到两个list中不同部分的list
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TesList {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("123");
list.add("456");
list.add("789");

List<String> list2 = new ArrayList<String>();
list2.add("123");
list2.add("456");
list2.add("789");
list2.add("xxxx");
list2.add("yyyy");


List<String>list3= getDiffrent(list, list2);
for (String string : list3) {
System.out.println(string);
}
}

private static List<String> getDiffrent(List<String> list1,
List<String> list2) {
long st = System.nanoTime();
Map<String, Integer> map = new HashMap<String, Integer>(list1.size()
+ list2.size());
List<String> diff = new ArrayList<String>();
for (String string : list1) {
map.put(string, 1);
}
for (String string : list2) {
Integer cc = map.get(string);
if (cc != null)
{
map.put(string, ++cc);
continue;
}
map.put(string, 1);
}
for (Map.Entry<String, Integer> entry : map.entrySet())
{
if (entry.getValue() == 1)
{
diff.add(entry.getKey());
}
}
System.out.println("getDiffrent total times "
+ (System.nanoTime() - st));
return diff;

}
}
发表评论
用户名: 匿名