导航:首页 > 编程语言 > 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相关的资料

热点内容
百姓网app截图是什么意思 浏览:222
php如何嵌入html 浏览:809
解压专家怎么传输 浏览:743
如何共享服务器的网络连接 浏览:132
程序员简易表白代码 浏览:166
什么是无线加密狗 浏览:62
国家反诈中心app为什么会弹出 浏览:67
cad压缩图打印 浏览:102
网页打开速度与服务器有什么关系 浏览:863
android开发技术文档 浏览:64
32单片机写程序 浏览:49
三星双清无命令 浏览:837
汉寿小程序源码 浏览:344
易助erp云服务器 浏览:532
修改本地账户管理员文件夹 浏览:418
python爬虫工程师招聘 浏览:285
小鹏p7听音乐哪个app好 浏览:357
linux下的防火墙 浏览:964
凌达压缩机美芝压缩机 浏览:353
php后面代码不执行 浏览:238