導航:首頁 > 編程語言 > list交集java

list交集java

發布時間:2022-08-21 13:34:59

java list集合怎麼交集

1.8

		finalList<String>l1=newArrayList<String>();
l1.add("a");l1.add("b");l1.add("c");l1.add("d");
List<String>l2=newArrayList<String>();
l2.add("b");l2.add("c");l2.add("d");l2.add("e");

List<String>result=newArrayList<String>();
result.addAll(l2);

result.removeIf(newPredicate<String>(){
@Override
publicbooleantest(Stringt){
return!l1.contains(t);
}
});

System.err.println(result);

普通操作:

		finalList<String>l1=newArrayList<String>();
l1.add("a");l1.add("b");l1.add("c");l1.add("d");
List<String>l2=newArrayList<String>();
l2.add("b");l2.add("c");l2.add("d");l2.add("e");

List<String>result=newArrayList<String>();

for(Strings:l2){
if(l1.contains(s)){
result.add(s);
}
}

System.err.println(result);

❷ 在java中怎樣求多個arraylist集合的交集

用Collection提供的retainAll方法,如下是測試代碼:

import java.util.*;
public class TestList1{
public static void main(String[] args){
List list1=new ArrayList();
list1.add("A");list1.add("B");list1.add("C");
List list2=new ArrayList();
list2.add("B");list2.add("C");list2.add("D");

list1.retainAll(list2);
System.out.println(「交集為:」+list1);
}
}

//測試:
//交集為:[B, C]

❸ java程序,給定的兩個數組求交集,我知道用兩個 for循環可以得到這些數


publicclassIntersection{

publicstaticvoidmain(String[]args){
//給定兩個數組
int[]as={1,5,8,9,4,6};
int[]bs={5,7,3,2};

//記錄相同的元素(String類型方便下面判斷)
String[]cs=newString[as.length>bs.length?as.length:bs.length];//長度不超過上麥年量數組中最大長度

//循環比較
for(inti=0;i<as.length;i++){
intflag=0;//有相同元素標記
for(intj=0;j<bs.length;j++){
if(bs[j]==as[i]){
flag=flag+1;
}
}
intplace=0;//記錄cs數組已經有幾個元素
for(Stringj:cs){
place=0;
if(j!=null&&j!=""){
place=place+1;
}
}
if(flag!=0){
cs[place]=as[i]+"";
}
}

//循環輸出交集數組
for(Stringi:cs){
if(i!=null){
System.out.println(i);
}
}
}
}

❹ Java中list集合的交集和差集的用法和如何將

只要一小句便可求出交集--> list1.retainAll(list2); list1和list2的位置無所謂,這樣循環一下list1試試,如果還有多個list,一樣的道理

❺ 用java編寫程序,求集合的並集、交集和差集

publicstaticvoidmain(String[]args){
Integer[]A={1,2,3,4};
Integer[]B={1,3,7,9,11};

List<Integer>listA=Arrays.asList(A);
List<Integer>listB=Arrays.asList(B);

List<Integer>jiaoji=newArrayList<Integer>();
for(Integera:listA){
if(listB.contains(a)){
jiaoji.add(a);
}
}
System.out.println(jiaoji);
List<Integer>bingji=newArrayList<Integer>();
for(Integera:listA){
if(!bingji.contains(a)){
bingji.add(a);
}
}
for(Integerb:listB){
if(!bingji.contains(b)){
bingji.add(b);
}
}

System.out.println(bingji);

List<Integer>chaji=newArrayList<Integer>();
for(Integera:listA){
if(!listB.contains(a)){
chaji.add(a);
}
}
System.out.println(chaji);
}

❻ JAVA怎麼取多個List集合的交集

1、把多個list放到一個list中,生成 List<List<Object>>結構
2、遍歷list,使用java8的規約操作,兩兩求交集
list.stream().rece((list1,list2) -> { list1.retainAll(list2); return list1;}).orElse(emptyList());

❼ java 求三個數組的交集

其實可以參考一樓的。
// 求兩個數組的交集
public static void intersect(Double[] arr1, Double[] arr2, Double[] arr3) {
for (Double str : arr1) {
if(Arrays.asList(arr2).contains(str) && Arrays.asList(arr3).contains(str)){
System.out.println(str);
}
}
}

public static void main(String[] args) {
Double[] arrayA = new Double[]{1d,2d,3d,4d,5d};
Double[] arrayB = new Double[]{1d,2d,7d,8d,9d};
Double[] arrayC = new Double[]{1d,2d,3d,4d,9d};
intersect(arrayA, arrayB, arrayC);
}

❽ 請問java有工具類取兩個list的並集嗎

好象List的里retainAll可以完成吧,可以保留相同的元素,將不同的刪除,你可以試一下,如果這個不是創建一個新的list,是在原有的list上直接修改。

list1.retainAll(list2);

這樣處理後,list1就是處理過的。

看成交集了,失敗。。。

並集的話直接把兩個的數據都放到一個Set集合里就行了
Set set = new HashSet();
set.addAll(list1);
set.addAll(list2);
這樣set里保存的數據就是你要的結果

❾ java array1,array2,array3三個數組取交集

List<Object> list=new ArrayList<Object>();
for(Object o:array1){
if(Arrays.asList(array2).contains(o)&&Arrays.asList(array3).contains(o)){
list.add(o);
}
}
return list.toArray();

❿ java求交集和並集

處理集合交並集運算的類,實現java專門的集合類
簡單實現代碼如下:
package test;

import java.util.HashSet;
import java.util.Set;

public class Test {

public static void main(String[] args) {
Set<Integer> result = new HashSet<Integer>();
Set<Integer> set1 = new HashSet<Integer>(){{
add(1);
add(3);
add(5);
}};

Set<Integer> set2 = new HashSet<Integer>(){{
add(1);
add(2);
add(3);
}};

result.clear();
result.addAll(set1);
result.retainAll(set2);
System.out.println("交集:"+result);

result.clear();
result.addAll(set1);
result.addAll(set2);
System.out.println("並集:"+result);

}

}

閱讀全文

與list交集java相關的資料

熱點內容
度人經pdf 瀏覽:898
怎麼配置android遠程伺服器地址 瀏覽:956
java程序員看哪些書 瀏覽:939
什麼app可以免費和外國人聊天 瀏覽:793
pdf手寫筆 瀏覽:178
別永遠傷在童年pdf 瀏覽:986
愛上北斗星男友在哪個app上看 瀏覽:419
主力散戶派發源碼 瀏覽:668
linux如何修復伺服器時間 瀏覽:59
榮縣優途網約車app叫什麼 瀏覽:477
百姓網app截圖是什麼意思 瀏覽:225
php如何嵌入html 瀏覽:813
解壓專家怎麼傳輸 瀏覽:745
如何共享伺服器的網路連接 瀏覽:134
程序員簡易表白代碼 瀏覽:168
什麼是無線加密狗 瀏覽:64
國家反詐中心app為什麼會彈出 瀏覽:69
cad壓縮圖列印 瀏覽:104
網頁打開速度與伺服器有什麼關系 瀏覽:865
android開發技術文檔 瀏覽:65