當前位置:首頁 » 編程語言 » java集合去重

java集合去重

發布時間: 2022-07-24 22:17:03

java 怎麼把多個list 合並成一個去掉重復的

示例代碼:


publicstaticvoidmain(String[]args){
List<Integer>list1=newArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
List<Integer>list2=newArrayList<Integer>();
list2.add(1);
list2.add(4);
list2.add(7);
list2.add(10);
List<Integer>listAll=newArrayList<Integer>();
listAll.addAll(list1);
listAll.addAll(list2);
listAll=newArrayList<Integer>(newLinkedHashSet<>(listAll));
System.out.println(listAll);
}


輸出:


[1, 2, 3, 4, 7, 10]


代碼要典:


  1. 合並 使用java.util.List.addAll(Collection<? extends Integer>)

  2. 去重,藉助LinkedHashSet

② java中去除集合重復元素問題

你把o.equals(list)那句換成list.contains(o)試試。現在你的代碼里o是個Object(其實是String),list是個List,根本不可能equal的


哦下面那個li.remove(o)也換成list.remove(o)

________________________________

哦不對。。。你下面的iterator循環裡面其實把每一個都刪掉了。。。


------------------------------------

我加了一些我的改動代碼,不過如另一個人所說,一般我們都是在添加的時候去重的,你這種方式我也第一次遇到,不過就你給出來的這些條件,我覺得這樣改就可以了。

③ 集合元素去重用java類庫中的什麼類

去掉集合的重復元素,我們一般是這么做的:建立一個新的集合,把沒有出現過的元素添加進去。你這種方法我以前也用過,同樣沒成功。不過Map是可以這么做的。

package list;

import java.util.*;

public class Remove_form_list {
public static void method4() {
List list = new ArrayList();
list.add("123");
list.add("456");
list.add("258");
list.add("789");
list.add("147");
list.add("258");
list.add("123");
list.add("123");

List temp = new ArrayList();

Iterator it = list.listIterator();

while(it.hasNext()){
Object o = it.next();
if(!temp.contains(o)){ //如果temp還沒有這個元素,就添加
temp.add(o);
}
}

list = temp;
System.out.println(list.toString());

}

public static void main(String[] args) {
method4();
}
}

結果:
[123, 456, 258, 789, 147]

④ java對List去重並排序,如何快速地去掉兩個

Java8開始,對數值,集合等提供了Stream流操作,可以方便的對集合進行操作.

比如 篩選,過濾,去重, 映射, 排序,規約,收集 等操作

簡單的參考代碼如下


importjava.util.Arrays;
importjava.util.List;
importjava.util.stream.Collectors;
//使用Java8的Stream特性和Java8的Lambda語句
publicclassDemo{
publicstaticvoidmain(String[]args){
//需求:集合去重,排序,得到一個新集合裡面的元素是之前元素的平方
List<Integer>list=Arrays.asList(5,2,2,1,3,4);
List<Integer>listResult= list
.stream()//得到流
.distinct()//去重5,2,1,3,4
.sorted()//自然排序,也可以自定義排序規則1,2,3,4,5
.map(x->x*x)//每個元素求平方1,4,9,16,25
.collect(Collectors.toList());//收集並返回

System.out.println(listResult);//1,4,9,16,25
}
}

⑤ java中怎樣去除list中重復的數據,並且顯示重復數據的條數

很多集合處理,我都推薦用Java8的流來處理,是非常簡單易懂的

其實你這個問題,總來說就是按照集合中的字元串進行分類,並統計數量,Stream只用簡單的代碼就完成復雜的操作,代碼如下

List<String>list=Arrays.asList("day","walipo","day","walipo","legeand","day","douwbo","day","day");
Map<String,Long>collect=list.stream().collect(Collectors.groupingBy(Function.identity(),Collectors.counting()));
System.out.println(collect);


最後返回的Map就是以字元串為key,value為其個數

⑥ Java中如何去除List中的重復的值

//set集合去重,不打亂順序
publicstaticvoidmain(String[]args){
List<String>list=newArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");

Setset=newHashSet();
ListnewList=newArrayList();
for(Stringcd:list){
if(set.add(cd)){
newList.add(cd);
}
}
System.out.println("去重後的集合:"+newList);
}

⑦ java list<object>如何去重

		List<String>list=newArrayList<>();
/*list.add("abc");
list.add("abc");
list.add("def");
list.add("bcd");*/
Set<String>set=newLinkedHashSet<>();//這種方式保證去重後的元素相對位置不變
//Set<String>set=newHashSet<>();//這種方式去重後元素的位置很有可能變化了
set.addAll(list);
list.clear();
list.addAll(set);
for(Strings:list){
System.out.println(s);
}

整個思路就是利用set中的元素是不重復的,來達到去重的目的

⑧ java List<Object[]> 如何數據去重

list應該是有函數判斷某個key是否存在,可以看下文檔
list.contains(obj);

熱點內容
動圖在線壓縮 發布:2025-05-14 03:35:24 瀏覽:132
w7共享無法訪問 發布:2025-05-14 03:35:24 瀏覽:482
為什麼微信會出現賬號密碼錯誤 發布:2025-05-14 03:03:30 瀏覽:692
幻影腳本官網 發布:2025-05-14 03:01:13 瀏覽:826
servlet的webxml怎麼配置 發布:2025-05-14 02:51:46 瀏覽:772
怎麼取消手勢密碼 發布:2025-05-14 02:51:11 瀏覽:639
openvpn搭建vpn伺服器搭建 發布:2025-05-14 02:47:52 瀏覽:998
密碼忘了從哪裡找 發布:2025-05-14 02:39:09 瀏覽:548
我的世界什麼伺服器有前途 發布:2025-05-14 02:30:31 瀏覽:528
java程序反編譯 發布:2025-05-14 02:18:46 瀏覽:459