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集合元素不重复的方法

相关推荐
多恩Stone3 分钟前
【C++ debug】在 VS Code 中无 Attach 调试 Python 调用的 C++ 扩展
开发语言·c++·python
葵续浅笑24 分钟前
从Spring拦截器到Filter过滤器:一次报文修改加解密的填坑经验
java·后端·spring
XW010599925 分钟前
4-11判断素数
前端·python·算法·素数
J2虾虾26 分钟前
Spring Boot中使用@Scheduled做定时任务
java·前端·spring boot
深蓝电商API33 分钟前
爬虫增量更新:基于时间戳与哈希去重
爬虫·python
两万五千个小时43 分钟前
构建mini Claude Code:06 - Agent 如何「战略性遗忘」(上下文压缩)
人工智能·python
两万五千个小时1 小时前
构建mini Claude Code:12 - 从「文件冲突」到「分身协作」:Worktree 如何让多 Agent 安全并行
人工智能·python·架构
yuki_uix1 小时前
为什么我的 Auth Token 藏在了 Network 面板的 Doc 里?
前端·python·debug
肉肉不想干后端1 小时前
联合订单并发退款:一次分布式锁冲突的排查与思考
java
用户4745189475101 小时前
全链路日志追踪利器:trace-spring-boot-starter 实战指南
java