A. java中如何去除List中的重复的值
通过HashSet剔除
//删除ArrayList中重复元素,add进去顺序就变了不考虑顺序的话可以使用
(Listlist){
源租HashSeth=newHashSet(list);
首扰list.clear();
list.addAll(h);
者裂旦System.out.println(list);
}
B. Java中如何去除List中的重复的值
你要去除的值是基本数据类型还是对象呢?
如果不想存重复数据何不用Set呢。。。
其实吧。。在知道上提问不如在网页上查。。这个是我查到的第一个。。网页里的内容,他一共使用了3种方式
最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合。
但是赋给set集合后,由于set集合是无序的,原先的顺序就打乱了。所以我又想着能不能用set的特性进行去重又不打乱顺序呢?
试了一下,也是可以的,几种方法悉誉在不同情况下都有各自的优势。现在将代码写出来,比较一下。
/亮镇/set集合去重,不打乱顺序
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
Set set = new HashSet();
List newList = new ArrayList();
for (String cd:list) {
if(set.add(cd)){
newList.add(cd);
}
}
System.out.println( "去重后的集合: " + newList);
}123456789101112131415161718
//遍历后判断赋给另一个list集合
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
List<String> newList = new ArrayList<String>();
for (String cd:list) {
if(!newList.contains(cd)){
newList.add(cd);
}
}
System.out.println( "去重后的集合: " + newList);
}1234567891011121314151617
//set去重
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
Set set = new HashSet();
List newList = new ArrayList();
set.addAll(list);
newList.addAll(set);
System.out.println( "去重后的集睁键段合: " + newList);
}12345678910111213141516
//set去重(缩减为一行)
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
List newList = new ArrayList(new HashSet(list));
System.out.println( "去重后的集合: " + newList);
}12345678910111213
hashset不进行排序,还有一种方法是用treeset,去重并且按照自然顺序排列,将hashset改为treeset就可以了。(原本的顺序是改变的,只是按照字母表顺序排列而已)
//去重并且按照自然顺序排列
List newList = new ArrayList(new TreeSet(list));
C. java list的重复对象怎么去除
java list的重复对象,可以使用Set集合类没有重复的数据的特点,将list的数据存入set里面,过滤掉重复的数据,如下代码:
packagecom.qiu.lin.he;
importjava.util.ArrayList;
importjava.util.HashSet;
importjava.util.List;
importjava.util.Set;
publicclassCeshi{
publicstaticvoidmain(String[]args){
List<Integer>li=newArrayList<Integer>();//新建一个list结合
li.add(1);
li.add(2);
li.add(3);
li.add(1);
Set<Integer>se=newHashSet<Integer>();//新建一个set集合
for(Integerinteger:li){
se.add(integer);//过滤重复的数据
}
for(Integerinteger:se){
System.out.println("输出list数组的去重的每个数据"+integer);
}
}
}
运行结果如下:
D. Java中如何去除List中的重复的值
属性是????
先给你一个看看是不是你需要的好了,
//利用Set的特性,将所有项目放入Set
//中即可移除重复的项目
Set<String>stringSet=newHashSet<String>();
for(Stringelement:plicateArray){
stringSet.add(element);
}
//Set.size()为不重复项目的个数
StringnonDuplicateArray[]=newString[stringSet.size()];
//将Set中的项目取出放到nonDuplicateArray中
Object[]tempArray=stringSet.toArray();
for(inti=0;i<tempArray.length;i++){
nonDuplicateArray[i]=(String)tempArray[i];
}
E. Java如何去掉List<实体> 实体里的重复数据
假设原数据:
Listuserlist....
方法1(也是我比较常用的):
新建一个List,遍历原list,加入新的list
Listnewlist=newArrayList();
for(v:userlist){
if(!newlist.contains(v))
newlist.add(v);
}
...
方法2:利用set集合
Setset=newHashSet();
Listnewlist=newArrayList();
for(v:userlist){
if(set.add(v)){
newlist.add(v);
}
}
!!!
网络真心坑啊,2015年的问题竟然也能拿出来让回答!
F. java list的重复对象怎么去除
爪哇 li意法半导体的重复对象,可应用Set集合合并合并类型无重复的数字据的性格,把li意法半慎纳导体的数字据存入set里,过滤掉重旅大复的数字据,如下代码:
packa通用电气 com.qiu.lin.he;
import 爪哇.util.ArrayLi意法半导体;
import 爪哇.util.HashSet;
import 爪哇.util.Li意法半导体;
import 爪哇.util.Set;
public class Ceshi {
public 意法半导体atic void main(意法半导体ring[] args) {
Li意法半导体<Inte通用电气r> li = new ArrayLi意法半导体<Inte通用电气r>();//建立11一个li意法半导体结合并
li.add(1);
li.add(2);
li.add(3);
li.add(1);
Set<Inte通用电气r> se = new HashSet<Inte通用电气r>();//建立11一个set集合合并合并
for (Inte通用电气r inte通用电气r : li) {
se.add(inte通用电气r);//过滤重复的数字据
}
for (Inte通用电气r inte通用电气r : se) {
Sy意法半导体em.out.println("输出li意法半导体数字组的去重的每1一个数字据" + inte通用电拆孝竖气r);
}
}
}
运行结果如下:
望采纳,谢谢。
G. java中如何去掉list中重复的对象
import java.util.ArrayList;
import java.util.List;
public class Ldc001{
public static void main(String[] args){
List<String> list = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
list.add("重");
list.add("复");
list.add("的");
list.add("值");
list.add("值");
list.add("值");
list.add("去");
list.add("除");
list.add("重");
list.add("复");
list.add("的");
list.add("值");
list.add("值");
list.add("值");
list.add("去");
list.add("除");
for (int i=0;i<list.size();i++){
if(!list2.contains(list.get(i))) list2.add(list.get(i));
}
System.out.println(list2);//去队重复后
}
}
H. List去重的五种方式
LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事:
Java示例念裂使用LinkedHashSet删除arraylist中的重复项。在给定的示例中,numbersList是包含整数的arraylist,其中一些是重复的数字。
例如1,3和5.我们将列表添加到LinkedHashSet,然后将内容返回到列表中。结果arraylist没有重复的整数。
输出结果
要从arraylist中删除重复项,我们也可以使用java 8 stream api。使用steam的简唤distinct()方法返回一个由不同数据组成的流,通过对象的equals()方法进行比较。
收集所有区域数据List使用Collectors.toList()。
Java程序,用于在不使用Set的情况下从java中的arraylist中删除重复项。
输仔咐闭出结果
5.双重for循环去重