JAVA中两个列表的交集
我正在尝试获取JAVA中两个列表之间的交集,请查找下面的列表 清单1: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
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另外,请将您的完整代码复制到此处(在代码块中,以便将其格式化为代码而不是文本)