it编程 > 软件设计 > 算法

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

73人参与 2024-08-06 算法

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

运行结果如下:

 

(0)

您想发表意见!!点此发布评论

推荐阅读

【漏洞复现】CVE-2004-2761:使用弱哈希算法签名的 SSL 证书(SSL Certificate Signed Using Weak Hashing Algorithm)

08-06

MD5哈希算法:原理、应用与安全性深入解析

08-06

常见的排序算法的时间复杂度

08-06

算法分析与设计第三章——(排序算法)

08-06

密码学中哈希表除p留余法和二次探测法的简单实例

08-06

6:算法基础--6.3:排序算法,6.4:算法策略

08-06

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论