`

求两个集合中相同的元素

阅读更多
import java.util.*;

/**
 * Created by tWX344078 on 2016/6/22.
 */
public class CalculateTest {
    public static void main(String[] args) {
        List<Integer> list1 = Arrays.asList(1,2,34,12,2,1,4,5,34,5);
        List<Integer> list2 = Arrays.asList(1,1,21,22,34,123,62,4,5,4,5);

        List<Integer> list3 = new ArrayList<Integer>();


        Map<Integer,List<Integer>> map1 = new HashMap<Integer, List<Integer>>();
        for (Integer u : list1){
            if(map1.get(u)==null){
                map1.put(u,new ArrayList<Integer>());
            }
            map1.get(u).add(u);
        }

        Map<Integer,List<Integer>> map2 = new HashMap<Integer, List<Integer>>();
        for (Integer u : list2){
            if(map2.get(u)==null){
                map2.put(u,new ArrayList<Integer>());
            }
            map2.get(u).add(u);
        }


        Set<Integer> set1 = map1.keySet();
        Set<Integer> set2 = map2.keySet();

        for(Integer s1 : set1){
            for(Integer s2 : set2){
               if(s1.equals(s2)){
                   list3.addAll(map1.get(s1));
                   list3.addAll(map2.get(s2));
               }

            }
        }

        for(Integer h : list3){
            System.out.println(h);
        }


//        List<Integer> list3 = new ArrayList<Integer>();
//
//        List<Integer> list4 = new ArrayList<Integer>();
//        List<Integer> list5 = new ArrayList<Integer>();
//        Set<Integer> set = new HashSet<Integer>();
//        for(int i =0 ;i< list1.size();i++){
//            for(int j=0;j<list2.size();j++){
//                if(list1.get(i).equals(list2.get(j))){
//                    set.add(list1.get(i));
//
//                }
//            }
//        }
//        int outSize = list1.size();
//        int intSize = list2.size();
//        for(int i =0 ;i< outSize;i++){
//            for(int j=0;j<intSize;j++){
//
//                if(list4.size()>0){
//                    if(!list4.contains(j)){
//                        if(list1.get(i).equals(list2.get(j))){
//                            list3.add(list1.get(i));
//                            list3.add(list2.get(j));
//
//                            list4.add(j);
//                        }
//                    }
//                }else{
//                    if(list1.get(i).equals(list2.get(j))){
//                        list3.add(list1.get(i));
//                        list3.add(list2.get(j));
//
//                        list4.add(j);
//                    }
//                }
//
//
//            }
//        }
//
//
//        for (Integer k : set){
//            System.out.print(k);
//        }
//
//        for(Integer h : list3){
//            System.out.println(h);
//        }
//        for(Integer h : list4){
//            System.out.println(h);
//        }
}
}

运行结果如下:
1
1
1
1
34
34
34
4
4
4
5
5
5
5
0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics