集合list和set的特性(来自一位菜鸟)

本文探讨了Java中的Collection接口及其子接口List和Set。ArrayList作为List的一个实现,以其快速查询但慢速增删的特点被广泛使用。LinkedList则以高效的增删操作和链表结构为特征。Set接口中,HashSet保证元素唯一性但不保证顺序,而TreeSet通过元素的自然顺序进行排序。LinkedHashSet则结合了HashSet和插入顺序的特点。Stack作为后进先出的容器,常用于模拟栈数据结构。文章还简要提及了Queue接口以及Map接口中的HashMap、TreeMap和LinkedHashMap。

Collection

       List

              ArrayList(*)

              LinkedList

              Vector

              Stack

       Set

              HashSet(*)

              TreeSet

              LinkedHashSet

       Queue

              LinkedList

Map

       HashMap(*)

       TreeMap

       LinkedHashMap

       Hashtable

              Properties(*)


Collection:    Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。                              JavaSDK不提供直接继承自Collection的类,JavaSDK提供的类都是继承自Collection子接口List和                          Set

      List:元素是有序的,元素可以重复。因为该集合体系有索引。

           ArrayList:底层的数据结构使用的是顺序结构。特点:查询速度很快。但是增删稍慢。线程不同步。

           LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。

            Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。

            Stack:它用于模拟了“栈”这种数据结构,“栈”通常是指“后进先出”的容器。

      Set:元素是无序,元素不可以重复。

             HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set的迭代顺序;特别是它不保证                               该顺序恒久不变,此类允许使用null元素。

             TreeSet:使用元素的自然顺序对元素进行排序

             LinkedHashSet:使用链表维护了一个添加进集合中的顺序。导致当我们遍历LinkedHashSet集合元素时,是按照添                                          加进去的顺序遍历的!

      Queue基本上,一个队列就是一个先入先出(FIFO)的数据结构

             LinkedList :是一种双向的链式结构


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值