Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA中两个列表的交集_Java_List_Arraylist_Collections_Stream - Fatal编程技术网

JAVA中两个列表的交集

JAVA中两个列表的交集,java,list,arraylist,collections,stream,Java,List,Arraylist,Collections,Stream,我正在尝试获取JAVA中两个列表之间的交集,请查找下面的列表 清单1: List list1=new ArrayList(); 列表1=[EligViewEventSubject[event=EOD,subjectTypeCd=HOLDINGS,region=IA],EligViewEventSubject[event=EOD,subjectTypeCd=ASSETS,region=IA]] 清单2: List list2=new ArrayList(); 列表2=[EligViewEvent

我正在尝试获取JAVA中两个列表之间的交集,请查找下面的列表

清单1:

List list1=new ArrayList();
列表1=[EligViewEventSubject[event=EOD,subjectTypeCd=HOLDINGS,region=IA],EligViewEventSubject[event=EOD,subjectTypeCd=ASSETS,region=IA]]
清单2:

List list2=new ArrayList();
列表2=[EligViewEventSubject[event=EOD,subjectTypeCd=ASSETS,region=IA]]
上述结果应如下所示

List resultList=new ArrayList();
结果列表=[EligvieweventsObject[event=EOD,subjectTypeCd=ASSETS,region=IA]]
简而言之,我只想要匹配的(交叉点)

我尝试了以下方法:

List unionList=newarraylist(list1);
unionList.addAll(列表2);
List intersectionList=newarraylist(list1);
intersectionList.Retainal(列表2);
我得到的工会名单如下:

[EligViewEventSubject[event=EOD,subjectTypeCd=HOLDINGS,region=IA],EligViewEventSubject[event=EOD,subjectTypeCd=ASSETS,region=IA],EligViewEventSubject[event=EOD,subjectTypeCd=ASSETS,region=IA]]
交叉口是
[]


请分享您对此的想法。

请参考此问题,因为此问题已得到回答

总之,您可以获得java中两个ArrayList的交集,如下所示:

public <T> List<T> intersection(List<T> list1, List<T> list2) {
    List<T> list = new ArrayList<T>(); 

    for (T t : list1){
       if(list2.contains(t)){
           list.add(t); 
       } 
    } 

   return list; 
}
公共列表交叉点(列表1、列表2){
列表=新的ArrayList();
for(T:list1){
if(列表2.contains(t)){
列表。添加(t);
} 
} 
退货清单;
}

它再次返回一个空list@KiranSureshraaj在list.add(t)和if(list2.contains(t))上设置断点。查看列表中不包含该项的原因。@KiranSureshraaj另外,请将您的完整代码复制到此处(在代码块中,以便将其格式化为代码而不是文本)