我想找到一种优雅的方法:
我有两个集合 A 和 B,如果它们都不为空,那么我需要做交集(将公共元素存储在另一个列表中)。
如果其中一个是空的,我将不得不采用另一个的所有元素。
如果两者都为空,则生成的集合将为空。
有没有办法在不使用许多 if 条件且性能良好的情况下解决这个问题?
这是有效的,但它不是很好:
import org.apache.commons.collections4.CollectionUtils;
...
...
List<Long> listA = new ArrayList<Long>();
List<Long> listB = new ArrayList<Long>();
//initialisation list A & listB
List<Long> outputList = null;
if(listA.size()>0 && listB.size() >0) {
outputList = new ArrayList(CollectionUtils.intersection(listB, listA));
}
else if(listA.size()==0){
outputList = listB;
}
else if(listB.size()==0){
outputList = listA;
}
谢谢!