java list高效去重_简述Java List去重五种方法「建议收藏」

java list高效去重_简述Java List去重五种方法「建议收藏」搜索热词前言去重,对于很多场合必不可少。写此篇文章是因为在之前做某个画面中,我在数据库中进行Distinct和OrderBy去重,发现影响效率,故此在后台先做去重处理;所以记录此文,已做参考:Num1:使用java8新特性stream进行List去重publicstaticvoidmain(String[]args){Listlist=newArrayList();li…

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

搜索热词

前言

去重,对于很多场合必不可少。写此篇文章是因为在之前做某个画面中,我在数据库中进行 Distinct 和 Order By 去重,发现影响效率,故此在后台先做去重处理;所以记录此文,已做参考:

Num1:使用java8新特性stream进行List去重

public static void main(String[] args) {

List list = new ArrayList();

list.add(10);

list.add(11);

list.add(14);

list.add(10);

list.add(19);

list.add(12);

System.out.println(“初始化集合为:”+list);

List newList = (List) list.stream().distinct().collect(Collectors.toList());

System.out.println(“java8新特性stream去重后集合为:”+newList);

}

结果为:

73276a8f2ac6d040ee8cf20bac4e7d78.gif

Num2:双重for循环去重

public static void main(String[] args) {

List list = new ArrayList();

list.add(10);

list.add(11);

list.add(14);

list.add(10);

list.add(19);

list.add(12);

System.out.println(“初始化集合为:”+list);

for (int i = 0; i < list.size(); i++) {

for (int j = 0; j < list.size(); j++) {

if(i!=j&&list.get(i)==list.get(j)) {

list.remove(list.get(j));

}

}

}

System.out.println(“去重过后新集合为:”+list);

}

结果为:

73276a8f2ac6d040ee8cf20bac4e7d78.gif

Num3 :set集合判断去重,不打乱顺序

public static void main(String[] args) {

List list = new ArrayList();

list.add(10);

list.add(11);

list.add(14);

list.add(10);

list.add(19);

list.add(12);

System.out.println(“初始化集合为:”+list);

Set set1 = new HashSet();

List newList = new ArrayList();

for (Object integer : list) {

if(set1.add(integer)) {

newList.add(integer);

}

}

System.out.println(“set集合判断去重:”+newList);

}

结果为:

73276a8f2ac6d040ee8cf20bac4e7d78.gif

Num4 : 遍历后判断赋给另一个list集合

public static void main(String[] args) {

List list = new ArrayList();

list.add(10);

list.add(11);

list.add(14);

list.add(10);

list.add(19);

list.add(12);

System.out.println(“初始化集合为:”+list);

List newList2 = new ArrayList();

for (Object integer : list) {

if(!newList2.contains(integer)){

newList2.add(integer);

}

}

System.out.println(“去重后新集合为:”+newList2);

}

结果为:

73276a8f2ac6d040ee8cf20bac4e7d78.gif

Num5 : set 和 list 转换去重

public static void main(String[] args) {

List list = new ArrayList();

list.add(10);

list.add(11);

list.add(14);

list.add(10);

list.add(19);

list.add(12);

System.out.println(“初始化集合为:”+list);

Set set2 = new HashSet();

List newList3 = new ArrayList();

set2.addAll(list);

newList3.addAll(set2);

System.out.println(“set和list转换去重:”+newList3);

}

结果为:

73276a8f2ac6d040ee8cf20bac4e7d78.gif

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:

编程之家官方1群:1065694478(已满)

编程之家官方2群:163560250(已满)

编程之家官方3群:312128206

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

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

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

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

(0)
blank

相关推荐

  • java–接口

    java–接口

  • linux关闭防火墙或开启防火墙命令_linux防火墙怎么关闭

    linux关闭防火墙或开启防火墙命令_linux防火墙怎么关闭在linux中防火墙的开启和关闭是可以通过命令来执行的,那么具体是哪个命令呢?下面由学习啦小编为大家整理了linux关闭防火墙的相关命令,希望对大家有所帮助。1.Linux关闭防火墙命令1)永久性生效,重启后不会复原开启:chkconfigiptableson关闭:chkconfigiptablesoff2)即时生效,重启后复原开启:serviceiptablesstart关闭:s…

  • php一句话木马变形技巧

    php一句话木马变形技巧一、什么是一句话木马?一句话木马就是只需要一行代码的木马,短短一行代码,就能做到和大马相当的功能。为了绕过waf的检测,一句话木马出现了无数中变形,但本质是不变的:木马的函数执行了我们发送的命令。二、我们如何发送命令,发送的命令如何执行?我们可以通过GET、POST、COOKIE这三种方式向一个网站提交数据,一句话木马用$_GET[”]、$_POST[”]、$_COOKIE[‘…

  • Java重置_java设置定时任务一小时执行一次

    Java重置_java设置定时任务一小时执行一次我想有一个java.utils.Timer与一个可重置时间在java.I需要设置一次off事件发生在X秒。如果在创建定时器的时间和X秒之间没有发生任何事情,则事件会正常发生。然而,如果在X秒之前,我决定该事件应该发生在Y秒后,然后我想要能够告诉定时器重置其时间,以便事件发生在Y秒。例如。定时器应该能够做以下事情:Timertimer=newTimer();timer.schedule(ti…

  • 数据库中的declare什么意思_mysql prepare语句

    数据库中的declare什么意思_mysql prepare语句展开全部sql中declare是声明的意思32313133353236313431303231363533e58685e5aeb931333365653236,就是声明变量的,这个一般是用在函数和存储过程中的。比如说,这个存储过程是,只要你把学号输入进来,就能查询这个学生的班级。那么在这个存储过程里面,学号就是参数。你给什么学号,它就返回给你相应的班级。又或者你也可以做成,只要你输入学号,…

  • 手把手教你获取x信本地数据库(利用Sqlcipher查看)

    手把手教你获取x信本地数据库(利用Sqlcipher查看)最近一直在研究Xposed等一些hook框架,进行学习做一些demo,这次就正好拿x信练练手,学习学习,也可以学习x信手机本地数据库的表结构设计等。好,废话不多说,直接开干。前提是你的电脑已经安装了adb相关程序,如果你本身就是安卓开发者,想必肯定安装了AndroidStudio,那里直接就有adb相关程序。其次,你准备一台已经root过的安卓手机(要安装的有使用过的x信应用,不

    2022年10月22日

发表回复

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

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