首页 > 其他 > 详细

linkedlist集合去重

时间:2019-12-10 20:32:58      阅读:269      评论:0      收藏:0      [点我收藏+]
/**
* 已知数组存放一批QQ号码,QQ号码最长为11位,最短为5位
* String[] strs = {"12345","67891","12347809933","98765432102","67891","12347809933"}。
* 将该数组里面的所有qq号都存放在LinkedList中,将list中重复元素删除,
* 将list中所有元素分别用迭代器和增强for循环打印出来
*/
public class LinkedList02 {
public static void main(String[] args) {
LinkedList<String> linkedList = new LinkedList<>();
String[] strs = {"12345","67891","12347809933","98765432102","67891","12347809933"};
for (int i = 0; i < strs.length ; i++) {
String str = strs[i];
linkedList.add(str);
}
/*
循环list集合,将新集合中没有的元素添加到新集合
此法可在去重的同时保持原来的顺序
使用迭代器删除重复元素,可保持原来的顺序
*/
Iterator<String> iterator = linkedList.iterator();
LinkedList<String> newlist1 = new LinkedList<>();
while (iterator.hasNext()){
String next = iterator.next();
//将新集合中没有的元素添加到新集合
if(!newlist1.contains(next)){
newlist1.add(next);
}
}
System.out.println(newlist1);
System.out.println("------------方法二-------------");

/*
使用HashSet的无重复的特性,只是去重后的List不能保持原来的顺序
*/
//s使用hashset去掉重复
Set<String> set = new HashSet<>(linkedList);
//得到去重后的新集合
LinkedList<String> newList = new LinkedList<>(set);
System.out.println(newList);


}
}

linkedlist集合去重

原文:https://www.cnblogs.com/YRSWBY2016/p/12018524.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!