zoukankan      html  css  js  c++  java
  • java集合浅析

    参照互联网 - 博客园 - http://www.blogjava.net/EvanLiu/archive/2007/11/12/159884.html。

    Question:

    1.Q:大致讲解java集合的体系结构
       A:List、Set、Map是这个集合体系中最主要的三个接口。 其中List和Set继承自Collection接口。
          Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。
          List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。
          Map也属于集合系统,但和Collection接口不同。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。HashMap、         TreeMap和Hashtable是三个主要的实现类。  SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序。
    2.Q:ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?
       A:Vector和HashTable是线程同步的(synchronized)。性能上,ArrayList和HashMap分别比Vector和Hashtable要好。

    3. (1)Vector 基于Arrayn,是“sychronized”的.

                ArrayList基于Array,ArrayList是非同步的。所以在性能上要比Vector优越一些.

                LinkedList不基于Array,

                所以:基于Array的List(Vector,ArrayList)适合查询,而LinkedList(链表)适合添加,删除操作

        (2)List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是Set和List的根本区别

        (3)HashSet的存储方式是把HashMap中的Key作为Set的对应存储项

               LinkedHashSet,TreeSet是通过SortedMap来实现的

               HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,

                    因此, 如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)

  • 相关阅读:
    Redis-高级教程-Java 使用
    Redis-高级教程-分区
    Redis-高级教程-管道技术
    Redis-高级教程-客户端连接
    Redis-高级教程-性能测试
    Redis-高级教程-安全
    Redis-高级教程-数据备份与恢复
    Redis-命令-Stream
    NG-ZORRO + Angular11增加自定义全局样式,不影响其他页面全局样式,仅作用于当前页面
    VUE上传表格文件发送后端,后端解析以及上传文件,前端进行解析的实现方法
  • 原文地址:https://www.cnblogs.com/xiaowei-blog/p/4046746.html
Copyright © 2011-2022 走看看