1. 单个List 去重:
如果用的是Set集合就不用怕重复的问题了,如果用的List就要想办法将它变为Set
package com;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class Test4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> l1 = new ArrayList<String>();
l1.add("a");
l1.add("b");
l1.add("c");
l1.add("e");
l1.add("e");
l1.add("e");
l1.add("e");
l1.add("a");
List<String> listWithoutDup = new ArrayList<String>(new HashSet<String>(l1));
for(String str : listWithoutDup){
System.out.println(str);
}
}
}
2. 2个集合合并后去重:
package com;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class Test3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> l1 = new ArrayList<String>();
l1.add("a");
l1.add("a");
l1.add("c");
l1.add("c");
List<String> l2 = new ArrayList<String>();
l2.add("b");
l2.add("b");
l2.add("k");
l2.add("k");
l1.removeAll(l2);//此处指的是将与l2重复的删除
l1.addAll(l2);//此处指加上l2
//如果保证l1,和l2 2个各自的LIST 本身不重复,此行代码不用写。否则会出现合并后LIST重复的问题,具体看业务需要
l1 = new ArrayList<String>(new HashSet<>(l1));
for(String str : l1){
System.out.println(str);
}
}
}
结果:
b
c
a
k
如果没有
l1 = new ArrayList<String>(new HashSet<>(l1));
则结果为:a
a
c
c
b
b
k
k