List 去重两种方式:stream(需要JDK1.8及以上)、HashSet

1、使用Stream 方法 使用JDK1.8及以上
复制代码
  /**
     * Java合并两个List并去掉重复项的几种做法
     * @param args
     */
    public static void main(String[] args) {

        String[] str1 = {"1", "2", "3", "4", "5", "6"};
        List<String> list1 = new ArrayList<>(Arrays.asList(str1));

        String[] str2 = {"4", "5", "8", "10", "3"};
        List<String> list2= new ArrayList<>(Arrays.asList(str2));
        // 去重信息
        List<String> collect= Stream.of(list1,list2)
                .flatMap(Collection::stream)
                .distinct()
                .collect(Collectors.toList());
        for (String str:collect) {
           log.info("测试结果:"+str);
        }
}

运行结果如下:

2、HashSet集合的方式进行去重

复制代码
      /**
     * Java合并两个List并去掉重复项的几种做法
     * @param args
     */
    public static void main(String[] args) {
        String[] str1 = {"1", "2", "3", "4", "5", "6"};
        List<String> list1 = new ArrayList<>(Arrays.asList(str1));

        String[] str2 = {"4", "5", "8", "10", "3"};
       log.info("=====================HashSet去重操作======================");
        Set<String> set = new HashSet<>(list1);
        set.addAll(list2);
        List<String> list = new ArrayList<>(set);
        log.info("hashSet去重:"+list);
   }

运行结果如下:

相关推荐
IT大白鼠9 分钟前
MSF环境搭建全教程(Kali/Windows/Mac/Docker)
windows·macos·msf
小鹿软件办公1 小时前
因用户频繁误触,微软 Windows 11 正式移除拖拽托盘功能
microsoft·windows托盘功能
QYRdata2 小时前
年复合增长率达10.4%!2026-2032年VR游戏开发服务赛道驶入高速成长周期
microsoft·vr
孫治AllenSun2 小时前
【JavaAI】LangChain4J(1) Windows 安装 Ollama 本地大模型
人工智能·windows
github_czy3 小时前
tf-idf讲解
大数据·人工智能·microsoft
FORCECON13 小时前
力控SCADA工程升级:信创跨平台迁移方案,快速搭建安全自主的工业监控系统
linux·windows·自动化·信创·scada·监控组态软件
心之语歌4 小时前
Windows Docker Desktop 部署 SQL Server 2022 完整安装手册
windows·docker·容器
小小代码狗4 小时前
Windows 权限提升技术详解
windows·网络安全
荔枝吻4 小时前
【保姆级喂饭教程】 Windows下WSL2+Docker+Qdrant安装教程
windows·docker·wsl2·qdrant
fengjianhua12254 小时前
C盘清理工具哪个操作最简单?
windows