Java - List 去重,获取唯一值,分组列出所属对应集合

问题: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); 
      }

参考链接

1. java实现list集合元素不重复的方法

相关推荐
Alan GEO实施教练几秒前
实用新型专利申请代理机构选择:关键考量因素与实操要点讲解
java·开发语言·python
gelald2 分钟前
JVM - 类加载机制
java·jvm·后端
Darkdreams3 分钟前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu
Roselind_Yi3 分钟前
云计算实验实操|Keystone安装配置+CloudSim仿真平台部署(超详细图文版)
java·经验分享·笔记·ubuntu·云计算·vim·虚拟机
闲云lazycloud5 分钟前
08-Java工程师的Python第八课-框架入门
python
xieliyu.5 分钟前
Java 基础:接口核心概念与实战详解
java·开发语言
不秃不少年7 分钟前
工厂方法模式(Factory Method)
java·面试·工厂方法模式
是真的小外套7 分钟前
第十一章:Flask入门之从零构建Python Web应用
前端·python·flask
扶苏-su8 分钟前
Java反射实战:动态操作Car类属性
java
Alanzeeb8 分钟前
博客系统测试文档
java·javascript·功能测试·可用性测试