本篇包含了两种去重,一种是List集合去重,一种是两个List集合去重合并
List集合去重,一般是两种方式,一种是遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合
参考链接:http://blog.csdn.net/cs6704/article/details/50158373
一个List去重:
public static void main(String[] args) { List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); System.out.println("list1:" + list1); Set set = new HashSet();
List newList = new ArrayList();
for (String str : list1) {
if(set.add(str)){
newList.add(str);
}
}
System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
public static void main(String[] args) { List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); System.out.println("list1:" + list1); List<String> newList = new ArrayList<String>();
for (String str : list1) {
if(!newList.contains(str)){
newList.add(str);
}
} System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
public static void main(String[] args) { List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); System.out.println("list1:" + list1); Set set = new HashSet();
List newList = new ArrayList();
set.addAll(list1);
newList.addAll(set); System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
public static void main(String[] args) { List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); System.out.println("list1:" + list1); List newList = new ArrayList(new HashSet(list1)); System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
两个List集合去重合并:
public static void main(String[] args) { List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); List<String> list2 = new ArrayList<String>();
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add(""); System.out.println("list1:" + list1);
System.out.println("list2:" + list2); list1.remove(list2);
list1.addAll(list2); list1 = new ArrayList<String>(new HashSet<>(list1));
System.out.println("去重后的list集合:" + list1);
}
list1:[, , , ]
list2:[, , , , , , , ]
去重后的list集合:[, , , , , , , , , ]