pal*_*all 8 java api collections list arraylist
是否有任何方法可以一次性为我做以下事项:
List<String> list1 = new ArrayList<String>(Arrays.asList("A","B","C","D"));
List<String> list2 = new ArrayList<String>(Arrays.asList("B","C","E","F"));
List<String> list3 = new ArrayList<String>();
for(String element : list2){
if(!list1.contains(element))
list3.add(element);
}
Run Code Online (Sandbox Code Playgroud)
因此,list3应包含元素"E"和"F".
Pet*_*rey 13
你的意思是?
List<String> list3 = new ArrayList<String>(list2);
list3.removeAll(list1);
Run Code Online (Sandbox Code Playgroud)
但是,做联合和交叉通常最好使用集而不是列表来完成.(并且更有效率)
Set<String> set3 = new LinkedHashSet<String>(set2);
set3.removeAll(set1);
Run Code Online (Sandbox Code Playgroud)