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!!!

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 什么是出口IP?_出口IP和外网IP

    什么是出口IP?_出口IP和外网IP出口IP是指外网IP,比如用的不是外网IP(公网)那么发送的信息必i须被路由器进行网络地址转换,信息就会被外网识别。IP定址:IP规定网络上所有的设备都必须有一个独一无二的IP地址,就好比是邮件上都必须注明收件人地址,邮递员才能将邮件送到。每个IP信息包都必须包含有目的设备的IP地址,信息包才可以正确地送到目的地。同一设备不可以拥有多个IP地址,所有使用IP的网络设备至少有一个唯一的IP地址。换言之,可以分配多个IP地址给同一个网络设备,但是同一个IP地址却不能重复分配给两个或以上的网络设备。

    2022年10月30日
  • 浅谈正则表达式验证身份证号码(C# winform)

    浅谈正则表达式验证身份证号码(C# winform)

  • 操作系统概念第五章部分作业题答案

    操作系统概念第五章部分作业题答案题目一:为什么对调度程序而言,区分CPU约束性进程和I/O约束性进程很重要解答:绝大多数进程可分为I/O主(放入I/O队列)或CPU主(放入就绪队列),I/O主的计算时间>CPU主。因此长期调度程序应选择一个合理的包含I/O主和CPU主的组合进程。在运行I/O操作前,I/0限制的程序只运行很少数量的计算机操作。而CPU约束程序一般来使用很多的CPU。另一方面,CPU约束程序会利用整个时间片,…

  • 什么软件可以激活成功教程网址_bya意思

    什么软件可以激活成功教程网址_bya意思国内激活成功教程站点大全![http://blog.csdn.net/netxiaoyue/archive/2005/01/29/273559.aspx]国内激活成功教程站点大全!(强烈推荐)【8DD资源中心】-http://www.18dd.com/精品软件秀-http://www.ohsoft.com/163软件园-http://www.soft163.com/中华激活成功教程联盟

  • 19号拌面[通俗易懂]

    19号拌面[通俗易懂]这几天在上地主要在一家叫19号拌面的餐厅吃饭,面条很硬,味道也一般,项目的洽谈了1天半,感觉很疲惫,昨天是12点睡的,今天还不知道是什么时候?明天必须给出2套解决方案出来,客户也很精明,让我们把所有可

  • 解决VS2008在win7找不到输入序列号的地方

    解决VS2008在win7找不到输入序列号的地方VS2008在Windows7打开维护界面看不到可以输序列号的地方。因为微软把他隐藏了。我们可以借用工具把他显示出来:下载地址:http://www.zlsoft.com/techbbs/UploadFile/2010-7/2010716148883786.rar使用方法:打开工具,填入你的找到序列号,点击开启,打开控制面板,调出VS2008的维护界面,点击下一步

发表回复

您的电子邮箱地址不会被公开。

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