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);
   }

运行结果如下:

相关推荐
在世修行6 小时前
Windows 上 Docker Desktop 部署 MySQL + TDengine 全过程(含 WSL 报错与镜像加速排障实战)
windows·mysql·docker·tdengine
Richard.Wong9 小时前
Windows IIS 服务器部署 Vue3 前端项目详细流程
服务器·前端·windows
我不满意11 小时前
loadrunner-11安装+破解+汉化(提供安装包,破解方式,汉化包)
测试工具·microsoft
月落归舟12 小时前
Redis 三种消息队列实现方案
数据库·redis·list
wyg_03111314 小时前
Intel Arc 140T + Triton(Windows)环境搭建全过程记录
windows
程序猿小玉兒14 小时前
Quartz定时任务偶尔不执行
服务器·windows·microsoft
曹牧1 天前
C#:`JsonConvert.DeserializeObject`
windows·c#
JckOLF04Z1 天前
软件项目“免坑”指南
windows
imperialeast1 天前
WinAXP音乐播放器8月4日更新
windows·算法·ui
aGdF8E3gQ1 天前
16. LangChain ChatPromptTemplate多模态应用实战
windows·langchain