简述Java List去重五种方法
作者:海沫汐 时间:2022-02-28 03:17:13
前言
去重,对于很多场合必不可少。写此篇文章是因为在之前做某个画面中,我在数据库中进行 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);
}
结果为:
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);
}
结果为:
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);
}
结果为:
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);
}
结果为:
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);
}
结果为:
来源:https://blog.csdn.net/weixin_43423579/article/details/103959300
标签:Java,List,去重
0
投稿
猜你喜欢
详解Java中对象池的介绍与使用
2023-07-25 13:13:48
Android基于AlarmManager实现用户在线心跳功能示例
2021-12-02 20:26:46
Android Studio实现简易计算器设计
2022-08-22 18:41:55
Java中常用的设计模式之装饰器模式详解
2021-08-28 07:59:15
Java 关于时间复杂度和空间复杂度的深度刨析
2023-11-10 16:07:39
Java设计模式之命令模式
2022-06-17 22:49:07
Java Swing GridBagLayout网格袋布局的实现
2023-07-11 19:34:26
java实现多个文件压缩成压缩包
2022-12-06 17:45:54
WPF使用DrawingContext实现二维绘图
2021-06-08 15:04:27
Android悬浮对话框(即点即关对话框)实现代码
2023-01-01 04:53:54
flutter中的布局和响应式app方法示例
2023-02-19 19:14:52
Java递归算法简单示例两则
2022-09-28 05:53:00
Spring整合mybatis实现过程详解
2022-05-23 02:10:23
5分钟快速实现Android爆炸破碎酷炫动画特效的示例
2022-11-27 11:46:54
Java之BigDecimal的坑及解决
2022-05-17 01:09:01
AlertDialog点击按钮不消失的实现方法
2023-12-12 07:11:16
Android水波纹载入控件CircleWaterWaveView使用详解
2021-10-27 23:06:58
获取Android系统唯一识别码的方法
2022-08-09 22:20:45
SpringBoot集成支付宝沙箱支付(支付、退款)
2022-02-15 16:50:52
DevExpress实现GridView当无数据行时提示消息
2023-08-23 04:13:33