当前位置: 代码迷 >> J2SE >> 面试题求解解决思路
  详细解决方案

面试题求解解决思路

热度:79   发布时间:2016-04-23 20:00:38.0
面试题求解
ListA包含1,10,9,100,5 ; ListB包含490,10,99。
请输出:
1.ListA & ListB全部包含的元素。
2.ListA包含但ListB不包含的元素。
3.ListB包含但ListA不包含的元素
------解决思路----------------------
CollectionUtils   去看看 
------解决思路----------------------
java.util.*;  

CollectionUtils.union( ListA,ListB );  //并集  
CollectionUtils.intersection( ListA, ListB ); //交集   
CollectionUtils.subtract( ListA, ListB ); //差集 

大体就这样吧

------解决思路----------------------
直接遍历不就完了吗?
for(int a : ListA){
   if(ListB.indexOf(a)!=-)
      System.out.print(a);
}
2、3类似
------解决思路----------------------
合并:listA.addAll(listB);
A含B不含:for循环遍历listA,采用listB的contains(A中元素)等于false,
B含A不含:与上同理
------解决思路----------------------
ListA包含1,10,9,100,5 ; ListB包含490,10,99。
请输出:
1.ListA & ListB全部包含的元素。   1,5,9,10,99,100,490
2.ListA包含但ListB不包含的元素。1,9,100,5
3.ListB包含但ListA不包含的元素    490,99
------解决思路----------------------

这面试题有点惨。
------解决思路----------------------
引用:
直接遍历不就完了吗?
for(int a : ListA){
   if(ListB.indexOf(a)!=-)
      System.out.print(a);
}
2、3类似

------解决思路----------------------
遍历的话,数据大时性能堪忧。 建议放入hashmap
------解决思路----------------------
A.addAll(B);
A.removeAll(B);
B.removeAll(A);
  相关解决方案