对java集合的基本理解

对java集合的基本理解

初学者在学习这部分时,可能会被短时间内得到的大量知识点而将其搞混,所以这部分的内容需要在未来时间长期回顾和学习。此文中列举常见的集合并简略概括了其核心知识点,适合学习完毕后的再次回顾和复习阶段的使用。

集合其实可以看作一个容器,一个装对象的引用的容器,它包括了Collectionmap集合。

Collection集合:Collection分别被ListSet继承,其中List常用的3个子类,ArrayList,LinkedList和Vector,set中2个常用的子类,HashSet和TreeSet。由于Collection继承了iterable接口,所以所有子类均可以使用其迭代器。

List集合:储存元素的特点是有序可重复,存储的元素均有下标。其中有序的含义并不是说存储进去的数据是无序,拿出时就有序,而是说此数据以如何顺序存储进去的,就以如何顺序取出,其中的有序是因为List集合都有下表,下标从零考试,以一递增

ArrayList集合:底层采用的是数组的数据结构。ArrayList是非线程安全的。数据的特点是易查询,难插入

LinkedList集合:LinkedList集合底层采用的是双向链表的数据结构,同样是非线程安全的。链表的特点是易插入,难查询

Vector集合:底层采用的是数组的数据结构,Vector所有的方法都是被synchronized关键字修饰的,所以它是线程安全的,但是效率较低,因此如今使用较少。

set集合:储存元素的特点是无序不可重复。无序表示的是存进去是这个顺序,取出来就不一定是这个顺序了。另外还有set集合没有下标,并且元素无法重复

HashSet集合:HashSet在被new的时候,底层实际上new的是一个HashMap集合,向HsahSet集合中存储元素,实际上是存储到HashMap集合中了。HashMap集合是一个哈希表的数据结构

SortedSet接口:被TreeSet集合实现,底层实际上是TreeMap,当new一个TreeSet集合的时候,底层实际上是new了一个TreeMap集合。向TreeSet集合中放数据时,实际上是将数据放入了一个TreeMap集合中了。TreeMap底层采用的时二叉树的数据结构

Collection集合结构
动力节点Collection集合结构
Map集合:了解前首先需要明白的是,Map集合和Connection集合没有关系。Map集合是以键值对形式储存数据,其中的key和value都是存储java对象的内存地址。所有的Map集合的key的特点是:无序不可重复。Map集合中常用的3个实现类:HashMap,HashTable,SortedMap

HashMap集合:底层是哈希表数据结构,是非线程安全的

HashTable集合:底层也是哈希表数据结构,但是线程安全的,其中所有的方法都带有synchronized关键字,效率较低,现在使用的较少了。

SortedMap接口:其key储存元素的特点是:无序不可重复,key部分自动按照大小顺序排列,成为可排序的集合。TreeMap为其实现类,该集合特点是:底层为二叉树的数据结构。

Map集合结构:
map的结构

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值