黑马程序员:Java编程_集合

本文详细介绍了Java集合框架中的各种容器类型,包括List、Set、Map等,以及它们的特性和使用场景。从数据结构的角度阐述了不同集合的底层实现,并对比了它们在性能上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 ------- android培训java培训、期待与您交流! ----------

          面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象。集合长度是可变的,集合可以存储不同类型的对象。集合就是一个容器,每个容器对数据的存储方式不同,所以出现了各种不同的容器,存储方式称之为:数据结构。

        整个集合类的继承体系如图所示:



Collection集合派系:

List
   
这个派系,可以存储重复的元素,这个派系,是一个有序的(存储和取出的顺序一致)存储到List中的对象,都有下标,ArrayList 是一个容器,初始容量是10,每次增长50%,底层存储对象采用数组实现,是线程不同步的集合,查询效率快,增删慢。LinkedList 是一个容器,底层存储对象采用是链表数据结构,是线程不同步的集合,查询慢,增删块。


Set

       这个派系,不允许存储重复的元素,是一个无序的(存入和取出的顺序),存储到Set集合中的对象,没有下标,HashSet是一个容器,存储对象的底层结构是哈希表结构,是线程不同步的集合。TreeSet是一个容器,存储对象的底层结构是二叉树,是线程不同步的集合,对于存储到这个集合中的对象需要进行自然顺序的排序。


Map
    Map集合存储的是键值对,一次存储两个对象,一个叫做健,一个叫做值。 一个键只能对应一个值 (夫妻关系),键不允许重复的,值可以重复。HashMap底层结构哈希表结构,是线程不同步的集合,可以存储null值,和null键。TreeMap底层是红黑树结构是线程不同步的集合,对于存储的键,进行自然顺序的排序,排序参考TreeSet。Hashtable底层哈希表结构,是线程同步的集合,不存储null值和null键。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值