zoukankan      html  css  js  c++  java
  • java 并交集运算

      在面试的过程中,忘记了List中还可以进行交并集运算,这也是常见的数据问题啊,这也是常见的数据结构问题---集合,面试的过程中一直没有想到这种数据结构

      java中API中已经集成了并交集的运算。

      代码:(from http://pengyan5945.iteye.com/blog/1311597)

      交集的API:使用retainAll即可

      并集的API:先removeAll 再addAll

    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    
    public class ListTest {
        public static void main(String[] args) {
             testIntersection();
             testUnion();
             testIntersectionSet();
        }
        private static void testIntersection() {
             List<String> list1 = new ArrayList<String>();
             List<String> list2 = new ArrayList<String>();
             list1.add("abc");  list2.add("abc");
             list1.add("123");  list2.add("123");
             list1.add("ABC");
             list2.add("XYZ");
             list1.removeAll(list2);
             list1.addAll(list2);
             System.out.println("并集元素个数是:" + list1.size());      
    
        }
        private static void testIntersectionSet() {
             List<String> list1 = new ArrayList<String>();
             List<String> list2 = new ArrayList<String>();
             list1.add("abc");  list2.add("abc");
             list1.add("123");  list2.add("123");
             list1.add("ABC");
             list2.add("XYZ");
             Set<String> set =new HashSet<String>();
             addList2Set(set, list1);
             addList2Set(set, list2);
             System.out.println("并集元素个数是:" + set.size());      
    
        }
        private static void testUnion() {
             List<String> list1 = new ArrayList<String>();
             List<String> list2 = new ArrayList<String>();
             list1.add("abc");  list2.add("abc");
             list1.add("123");  list2.add("123");
             list1.add("ABC");
             list2.add("XYZ");
             list1.retainAll(list2);
             System.out.println("交集元素个数是:"+list1.size());
        }
        private static void addList2Set(Set<String> set,List<String> list){
            for (String str : list) {
                set.add(str);
            }
        }
    }
    View Code
  • 相关阅读:
    Calling a parent window function from an iframe
    JSON with Java
    Posting array of JSON objects to MVC3 action method via jQuery ajax
    What's the difference between jquery.js and jquery.min.js?
    jquery loop on Json data using $.each
    jquery ui tabs详解(中文)
    DataTables warning requested unknown parameter
    Datatables 1.10.x在命名上与1.9.x
    jQuery 1.x and 2.x , which is better?
    DataTabless Add rows
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4434239.html
Copyright © 2011-2022 走看看