对list集合中的重复值进行处理,大部分是采用两种方法,
一种是用遍历list集合判断后赋给另一个list集合,
另一种是用赋给set集合再返回给list集合。
方法1:set集合去重,不打乱顺序
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa"); //set集合去重,不打乱顺序
Set<String> set = new HashSet<String>();
List<String> newList = new ArrayList<String>();
for (String cd : list) {
if (set.add(cd)) {
newList.add(cd);
}
}
System.out.println("去重后的集合: " + newList);
方法2:遍历后判断赋给另一个list集合
//遍历后判断赋给另一个list集合
List<String> newList = new ArrayList<String>();
for (String cd : list) {
if (!newList.contains(cd)) {
newList.add(cd);
}
}
System.out.println("去重后的集合: " + newList);
方法3:set去重
//set去重
Set<String> set = new HashSet<String>();
List<String> newList = new ArrayList<String>();
set.addAll(list);
newList.addAll(set);
System.out.println("去重后的集合: " + newList);
方法4:set去重(代码缩减为一行)
//set去重(缩减为一行)
List<String> newList = new ArrayList<String>(new HashSet<String>(list));
System.out.println("去重后的集合: " + newList);
方法5:去重并且按照自然顺序排列
//去重并且按照自然顺序排列
List<String> newList = new ArrayList<String>(new TreeSet<String>(list));
System.out.println("去重后的集合: " + newList);
文章来源:http://blog.csdn.net/cs6704/article/details/50158373