public List intersectionForList_2(List arr1, List arr2) {
long startTime = System.currentTimeMillis();
List resultList = new ArrayList<>();
List maxList;
List minList;
if (arr1.size()>arr2.size()){
maxList = arr1;
minList = arr2;
}else {
maxList = arr2;
minList = arr1;
}
Iterator iterator = maxList.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
if (minList.contains(next)){
resultList.add(next);
}
}
long endTime = System.currentTimeMillis();
log.info("intersectionForList_2:" + (endTime - startTime));
return resultList;
}
public List intersectionForList_4(List arr1, List arr2){
long startTime = System.currentTimeMillis();
List resultList = new ArrayList<>();
arr1.stream().forEach(a1->{
if (arr2.contains(a1)){
resultList.add(a1);
}
});
long endTime = System.currentTimeMillis();
log.info("intersectionForList_4:" + (endTime-startTime));
return resultList;
}