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


相关推荐

  • 火星坐标系统

    火星坐标系统

    2021年9月9日
    90
  • 三自由度机械臂的三维设计

    三自由度机械臂的三维设计三自由度机械臂的三维设计背景底座背景写本篇文章的时候只是模型设计完成以及部分零件进行了采购,最终是否能实现不能确定。继续之前的智能车制作,我的想法是一个多功能的智能小车它至少得有手有眼吧,所以继摄像头云台的制作结束后我又进行了机械臂的设计,最初对于机械臂的了解真的是非常的少,当时的想法是一个关节一个舵机呗,大概是这样:但是我觉得这样有点丑,而且这样的话用的舵机也不少,不是很物美价廉,所有我…

    2022年6月7日
    31
  • acwing-190. 字串变换(双向bfs)

    acwing-190. 字串变换(双向bfs)已知有两个字串 A, B 及一组字串变换的规则(至多 6 个规则):A1→B1A2→B2…规则的含义为:在 A 中的子串 A1 可以变换为 B1、A2 可以变换为 B2…。例如:A=abcd B=xyz变换规则为:abc → xu ud → y y → yz则此时,A 可以经过一系列的变换变为 B,其变换的过程为:abcd → xud → xy → xyz共进行了三次变换,使得 A 变换为 B。输入格式输入格式如下:A BA1 B1A2 B2… …第一行是两个给定的字符串

    2022年8月9日
    4
  • 正规矩阵(酉矩阵)[通俗易懂]

    正规矩阵(酉矩阵)[通俗易懂]英文名:Unitarymatrix

    2025年5月28日
    2
  • vscode支持java_vscode配置go环境

    vscode支持java_vscode配置go环境VScode配置Java环境1.下载JDK方式一:手动下载JDKOracleJavaSEAdoptOpenJdkAzulZuluforAzure-EnterpriseEdition方式二:VSCode中下载JDK下载JAVA插件扩展方式一:windows平台下可以直接访问这个地址直接下载带有java插件的vscode方式二:在vscode中下载以下插件LanguageSupportforJavabyRedHatDebug

    2022年9月1日
    0
  • Oracle使用SQL语句修改字段类型「建议收藏」

    Oracle使用SQL语句修改字段类型「建议收藏」1.如果表中没有数据Sql代码1altertable表名modify(字段名1类型,字段名2类型,字段名3类型…..)2altertablestudentmodify(idnumber(4));—将student表中id字段改为number,长度43altertablestudentmodify(idnumber(4),studentNamevarchar2(100));2.如果原表中存在数据Sql代码–修改原字段名ALTER

    2022年5月3日
    146

发表回复

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

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