List去重3种方式

List去重3种方式一、背景1.在实战中list去重是非常频繁的,下面就讲讲它的三种用法。二、第一种(原始代码去重)1.测试类publicclassDemoTest{publicstaticvoidmain(String[]args){ArrayList<String>list=Lists.newArrayList(“02″,”01”,”…

大家好,又见面了,我是你们的朋友全栈君。

一、背景

1.在实战中list去重是非常频繁的,下面就讲讲它的三种用法。

二、第一种(原始代码去重)

1.测试类

public class DemoTest {
    public static void main(String[] args) {
        ArrayList<String> list = Lists.newArrayList("02","01","01","02","03");
        System.out.println("原始的去重方法");
        ArrayList<String> listTemp = Lists.newArrayList();
        for (String e:list){
            if (!listTemp.contains(e)){
                listTemp.add(e);
            }
        }
        System.out.println(listTemp);
    }
}

2.结果

原始的去重方法
[02, 01, 03]

三、第二种方法

1.Set去重缺点是,元素是无序的

2.测试类

public class DemoTest {
    public static void main(String[] args) {
        ArrayList<String> list = Lists.newArrayList("02","01","01","02","03");
        System.out.println("set去重");
        Set<String> set = Sets.newHashSet(list);
        System.out.println(set);
    }
}

3.结果

set去重
[01, 02, 03]

四、第三种方法

1.测试类

public class DemoTest {
    public static void main(String[] args) {
        ArrayList<String> list = Lists.newArrayList("02","01","01","02","03");
        System.out.println("函数式去重");
        List<String> collect = list.stream().distinct().collect(Collectors.toList());
        System.out.println(collect);
    }
}

2.结果

函数式去重
[02, 01, 03]

五、结束

Always keep the faith!!!

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141234.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月26日 下午12:20
下一篇 2022年5月26日 下午12:20


相关推荐

  • 建立任务,OSTaskCreate()源码解析

    建立任务,OSTaskCreate()源码解析想让uC/OS-Ⅱ管理用户的任务,用户必须要先建立任务。用户可以通过传递任务地址和其它参数到以下两个函数之一来建立任务:OSTaskCreate()或OSTaskCreateExt()。OSTas

    2022年7月3日
    27
  • 520表白季,教你用matlab画动态心形曲线图,可自动保存GIF格式图片,送给女朋友,她们一定会惊讶,赶紧收藏!!!

    520表白季,教你用matlab画动态心形曲线图,可自动保存GIF格式图片,送给女朋友,她们一定会惊讶,赶紧收藏!!!昨天发表了一篇用python教你画心形图表白的文章:想要表白的看这里,教你用python画不同类型的心形图虏获芳心,值得收藏!!里面详细介绍了各种心形图的画法以及最终的表白神器,值得点赞收藏!!同样matlab也可以实现相同的功能并且还可以做得更好,今天就用教你用matlab画动态心形曲线图,不信请看下面:虏获芳心matlab画动态心形曲线图matlab画动态心形曲线图(基础版)matlab画3D心形图备注matlab画动态心形曲线图利用数学上的格式f(x)=x^2^/^3+e/3*(π-x^2

    2022年10月17日
    4
  • Lerp 函数本质理解

    Lerp 函数本质理解今天写了两个知识点 发现 CSDN 上都是抄过来抄过去 虽然看看别人写的能解决自己一大部分困惑 然而深入以后还是有不能理解透彻的地方 所以自己把自己理解的加在后面 如有不对 望指教 Unity 中好几个 Lerp 函数 而对于 Lerp 函数的本质 我以前只知道个大概 参考了别人写的 觉得还是不够清晰 截图加上自己的详细理解如下 参考资料 http www manew com blog

    2026年3月26日
    3
  • 详解数据库三大范式、BCNF范式

    文章目录什么是”范式(NF)”1.第一范式(1NF)2.第二范式(2NF)2.1函数依赖2.1.1完全函数依赖2.1.2部分函数依赖2.2码2.3非主属性3.第三范式(3NF)4.小结4.1三大范式总结4.2完全&部分函数依赖4.3表设计规范(范式的选择)什么是”范式(NF)”按照教材中的定义,范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。很晦涩吧?实际上你可以把它粗略地理解为一张数据表的.

    2022年4月8日
    48
  • Jenkins(5)生成allure报告「建议收藏」

    Jenkins(5)生成allure报告「建议收藏」前言jenkins集成了allure插件,安装插件后运行pytest+allure的脚本即可在jenkins上查看allure报告了。allure安装在运行代码的服务器本机,我这里是用的dock

    2022年7月30日
    10
  • C语言scanf函数以及缓存详解

    C语言scanf函数以及缓存详解前言自学到 C 语言 scanf printf getchar gets 的时候 我觉得这个几个函数并没有什么特别的难得 但是后来写程序的时候却出现了一些小错误总是解决不了 上网查了查 是对于 C 语言缓存的不理解 所以今天本篇博文就集中炮火 用我自己的理解 对这块知识进行一个剖析 本博文中有一些知识点我个人认为还是不成熟 我也没找到能让我信服的知识 如有大神指点迷津 欢迎在评论区留言

    2025年10月5日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号