集合类

LZ今天来跟大家一起分享集合类整体都包含哪些?

Collection-

    List-

        Vector-线程安全数组型单值集合。适合用于多线程下来保证数据一致性和安全性。由于使用数组索引数据结构,非常适合用户频繁查询的业务场景。因为添加和删除元素,通过System类调用底层的copyOf方法对整个数组进行重构,不适合进行频繁的增删改操作。

        ArrayList-线程不安全数组型单值集合。适合用于单线程中进行单值数列的存储。特性和Vector类似。

        LinkedList-线程不全双链表型单值集合。由于采用链表数据结构,适合用于频繁进行增删改操作的业务场景。查询需要遍历整个链表,因此不适合频繁的进行查询操作。

        CopyOnWriterArrayList-适合用于读多写少的情况。加锁的读写分离数组型单值集合。在写入数据时,并不影响数据的读取,写入的时候是将之前的数据进行复制,然后在副本上进行修改。

    Set-无重复值,无序

        HashSet-HashMap的key。set中的值是没有重复的,key唯一。

        TreeSet-树结构set,用于排序

    Map-key/value

        HashMap-高效,但不是线程安全的。

        HashTable-线程安全,是Synchronized重量级锁,效率差。

        ConcurrentHashMap-线程安全,分段锁。CAS+Synchronized。效率低于HashMap

        ConcurrentSkipMap-跳表数据结构的Map,内部结构是链表结构,包含右节点和下节点。主要是通过空间换时间来提高查询效率。速度比ConcurrentHashMap要快,并且是有序的map

        TreeMap-树结构的map

        SortedMap-排序map


在帝都打拼的struggle&小青年。喜欢的可以点赞哦!

一帆风顺只是希望,

逆水行舟才是生活。

加油,boy!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容