zoukankan      html  css  js  c++  java
  • 常用集合之间的关系

    常用集合之间的关系:

    1:list的子类          :list集合包含重复元素,并且有序(存储顺序和取出顺序一致);

          ArrayList:      底层是数组,线程不安全,查询快,增删慢,效率高;

          vector:          底层是数组,线程安全,查询快,增删慢,效率低;

         linkedList:      底层是链表,线程不安全,查询慢,增删快,效率高;

    2:set类集合:   set集合不包含重复,具有唯一性;

           HashSet:                  唯一性;

          LinkedHashSet :      底层是hash表(唯一性)和链表(存放和取出有序)组成,所以具有唯一性和有序性;

           TreeSet :                   唯一性,集合内部有两种排序方式:自然排序 和 比较器排序;

     3: Map类集合:          键值对集合,键具有唯一性;

           HashMap:     存储无序,键具有唯一性;

           TreeMap:       存储为自然排序,键具有唯一性;

           LinkedHashMap:    存放和取出有序,键具有唯一性;

           

     

    面试相关:

          1:HashMap与Hashtable的区别:

              HashMap:   线程不安全,允许null键和null值;

              Hashtable:   线程安全,不允许null键和null值;

          2:list、set、Map是否都是继承map ??

              否,list、set继承的collection接口,而map接口本身就是一个顶层接口;

            3:collection与collections的区别:

                 collection :   是单列集合的顶层接口,有子接口list、set;

                 collections:   是针对集合操作的工具类,像常用的:对集合进行排序和二分查找;

        collections的常用方法:      

                 collections里面都是静态方法:

                                   collections.sort(List<>  list)   :集合的自然排序;

                                   collections.binarySearch(List<>  list  ,T   key)   : 集合的二分查找;

                                   collections.max()          :  获取最大值;

                                   collections .reverse()       :  元素反转;

                                          collections .shuffle()      :    元素位置随机置换;

     4:开发中如何使用线程安全的集合?

    List<Object> objects = Collections.synchronizedList(new ArrayList<>());
  • 相关阅读:
    【文献阅读】Densely Connected Convolutional Networks-best paper-CVPR-2017
    【文献阅读】Perceptual Generative Adversarial Networks for Small Object Detection –CVPR-2017
    Vue知识整理17:免终端开发vue应用
    Vue知识整理16:单文件组件
    Vue知识整理15:组件注册
    Vue知识整理14:组件基础
    Vue知识整理13:表单输入绑定(v-model)
    Vue知识整理12:事件绑定
    Vue知识整理11:列表渲染(v-for来实现)
    Vue知识整理10:条件渲染(v-if v-show)
  • 原文地址:https://www.cnblogs.com/dw3306/p/9435526.html
Copyright © 2011-2022 走看看