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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 深度学习算法评价标准AP bbox bev 3d

    深度学习算法评价标准AP bbox bev 3d

    2020年11月8日
  • 双向链表排序[通俗易懂]

    双向链表排序[通俗易懂]双向链表的结构体,包括一个前驱节点的指针、一个后继节点的指针以及一个存储数据的data域,initList函数初始化单节点的双链表,addList函数采用头插入方法添加一个节点到双链表中,sort函数实现了对双链表的排序,采用头插入方式建成的双链表的头结点(存储65535的那个节点)必然在末尾(其实双链表没有首尾之说,只是把它当作末尾),排序的时候,1.首先从该节点处,每次查找前驱节点,并记录da…

    2022年10月11日
  • linux 命令:whereis详解

    linux 命令:whereis详解linux命令:whereis详解

    2022年10月28日
  • 9开头的两位数相乘速算法「建议收藏」

    9开头的两位数相乘速算法「建议收藏」

    2022年6月7日
  • Platform device and platform driver

    Platform device and platform driverPlatformdevice是专门给嵌入式系统设计的设备类型,一般在移植内核到自己的开发板时,基本上注册的所有的设备的类型全是platformdevice。实际上,platform在Linux内核中是以一条总线的身份登场的,要想让这样的总线和设备一起完美的工作,必须首先在系统

    2022年7月24日
  • Linux下的5款主流高可用集群软件介绍[通俗易懂]

    Linux下的5款主流高可用集群软件介绍[通俗易懂]Linux集群主要分成三大类:高可用集群(HighAvailabilityCluster)、负载均衡集群(LoadBalanceCluster)、科学计算集群(HighPerformanceComputingCluster)。其中高可用集群具有保障应用程序持续提供服务的能力,可以将因软、硬件、人为造成的故障对业务的影响降低到最小程度。在高可用集群中,最常见的就是两个节点做成的HA集群,有很多通俗的名称,比如“双机热备”、“双机互备”、“双机”。而在Linux平台下常见的高可用集群软件有

    2022年10月16日

发表回复

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

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