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
求两个集合中相同的元素
最新推荐文章于 2022-09-07 10:19:11 发布