问题:List 去重,获取唯一值,分组列出所属对应集合
方案一:这个不需要额外的内存占用
java
//遍历后判断赋给另一个list集合
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
List<String> newList = new ArrayList<String>();
for (String cd:list) {
if(!newList.contains(cd)){
newList.add(cd);
}
}
System.out.println( "去重后的集合: " + newList);
}
方案二:会占用额外的内存空间,毕竟有一个 HashSet
集合,元素顺序会是原来的顺序
java
//set集合去重,不打乱顺序
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
Set set = new HashSet();
List newList = new ArrayList();
for (String cd:list) {
if(set.add(cd)){
newList.add(cd);
}
}
System.out.println( "去重后的集合: " + newList);
}