List集合去重
本篇包含了两种去重,一种是List集合去重,一种是两个List集合去重合并
List集合去重,一般是两种方式,一种是遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合
参考链接:http://blog.csdn.net/cs6704/article/details/50158373
一个List去重:
public static void main(String[] args) {
List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add("");
System.out.println("list1:" + list1);
Set set = new HashSet();
List newList = new ArrayList();
for (String str : list1) {
if(set.add(str)){
newList.add(str);
}
}
System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
public static void main(String[] args) {
List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add("");
System.out.println("list1:" + list1);
List<String> newList = new ArrayList<String>();
for (String str : list1) {
if(!newList.contains(str)){
newList.add(str);
}
}
System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
public static void main(String[] args) {
List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add("");
System.out.println("list1:" + list1);
Set set = new HashSet();
List newList = new ArrayList();
set.addAll(list1);
newList.addAll(set);
System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
public static void main(String[] args) {
List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add("");
System.out.println("list1:" + list1);
List newList = new ArrayList(new HashSet(list1));
System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
两个List集合去重合并:
public static void main(String[] args) {
List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add("");
List<String> list2 = new ArrayList<String>();
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
System.out.println("list1:" + list1);
System.out.println("list2:" + list2);
list1.remove(list2);
list1.addAll(list2);
list1 = new ArrayList<String>(new HashSet<>(list1));
System.out.println("去重后的list集合:" + list1);
}
list1:[, , , ]
list2:[, , , , , , , ]
去重后的list集合:[, , , , , , , , , ]
List集合去重的更多相关文章
- List集合去重的一种方法
前一段时间们需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和Has ...
- List集合去重的一种方法 z
需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和HashSet都不 ...
- List集合去重的一些方法(常规遍历、Set去重、java8 stream去重、重写equals和hashCode方法)
1. 常规元素去重 碰到List去重的问题,除了遍历去重,我们常常想到利用Set集合不允许重复元素的特点,通过List和Set互转,来去掉重复元素. // 遍历后判断赋给另一个list集合,保持原来顺 ...
- C# List集合去重操作注意点
今天调试代码时发现list的distinct方法在对引用类型操作时并没有去重,后来查阅资料发现list去重操作对象集合时比较的是对象的一个个引用地址, 因为集合里的对象都是一个个单独的实例,所以并不会 ...
- List集合去重方式及效率对比
List集合相信大家在开发过程中几乎都会用到.有时候难免会遇到集合里的数据是重复的,需要进行去除.然而,去重方式有好几种方式,你用的是哪种方式呢?去重方式效率是否是最高效.最优的呢?今天就给大家讲解一 ...
- python redis连接 有序集合去重
# -*- coding: utf-8 -*- import redisfrom constant import redis_ip, redis_db, redis_pw, logger, redis ...
- Java 单个集合去重与两个集合去重
一.单个集合去重 描述: 去掉一个集合里重复的元素:将list集合转成hashSet集合,hashSet有自动去重的功能,再利用去重后的hashSet集合初始化一个新的list集合,此时这个list就 ...
- List集合去重各种方式汇总
package com.sb.test; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java. ...
- 对list集合去重操作
import java.util.ArrayList; import java.util.List; //删除集合中重复的数据 public class RemoteTheSameDataInList ...
随机推荐
- EfRepository
using System;using System.Collections.Generic;using System.Linq;using System.Linq.Expressions;using ...
- [LeetCode&Python] Problem 704. Binary Search
Given a sorted (in ascending order) integer array nums of n elements and a target value, write a fun ...
- c++函数总结
1.strcpy(char *str1, char *str2) 作用:把str2的字符复制到str1,函数是C风格的函数. 注意事项:strcpy会从源地址一直往后拷贝,直到遇到'\0'为止,所以如 ...
- linux 下 mac 地址如何查询
cat /sys/class/net/eth0/address
- 查看celery 队列长度
BROKER_URL = 'redis://127.0.0.1:6379/2' quque 名称:celery 查询队列长度命令: redis-cli -n 2 llen celery 注释: -n: ...
- java设计模式概述
java的设计模式大体上分为三大类: 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式. 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模 ...
- C# 关于变量使用范围容易犯错的问题(TreeView数据绑定为例)
asp.net做一个treeview数据绑定 绑定子节点时查询出来的数据正确,但在进行数据绑定时一直索引溢出 然后调试 ... 调试 ... 再调试... 依然很崩溃 想到了是变量定义后面共用后的问 ...
- 必做作业3:原型化设计:地铁扫码app
一.设计背景 伴随着地铁规模的快速扩张,使用手机扫码进出站成为了一种新型的地铁出行方式.在今天的北京和上海,地铁扫码已经极为普遍,广州和深圳也正在快速普及这种新方式.相信在不久的将来,其他拥有地铁或者 ...
- c# 纯代码调用 webservice
public static class RequestHelper { public class RequestResult { public RequestResult(bool requestRe ...
- 使用Visual Studio 2017开发Linux程序
环境: win7_x64旗舰版.VS2017企业版.VMware10.0.2.CentOS7 在CentOS7上首先需要安装gcc.g++和gdbserver,这里就不多说 一.安装VS2017 1. ...