linkedlist集合去重


/**
* 已知數組存放一批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);


}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM