java SE 集合与数组比较、常见集合的特点

集合框架

为什么需要集合框架?

保存一组对象,类集是一个动态的对象数组。

提供用于管理对象集合的接口和类。包含接口,实现类和算法。

在java中的一些特殊的类,内部可以存放多个其它数据类型的对象,把这些类叫做集合框架类。集合框架是变长的(动态)。

集合默认存储的是object类型的对象,而且还提供了优秀的算法。

集合框架的特点:1、这种框架是高性能的,对基本类集(动态数组,链接表,树和散列表)的实现是高效率的。2、框架必须允许不同类型的类集以相同的方式(任何对象的所有操作形式)和高度(集合中是某一类的对象)互操作方式工作。3、类集必须是容易扩展和修改的,为了实现这一目标,类集框架被设计成包含了一组标准接口。

数组与集合的区别

数组

集合

定长

变长

只能存储本类与子类变量

可以放的元素数据类型:可以是基本数据类型,引用数据类型

可以存储任何类型的变量

只能放引用数据类型

排序需要自己定义算法

提供了排序的算法

 

集合与集合框架

1、集合有时叫做容器,简单来说,就是一个对象,能将具有相同性质的多个元素汇聚成一个整体。用于检索,操纵,传输数据。2、不能存放基本数据类型(4类8种),只能存储引用数据类型。

set集合:集合中的对象不按特定顺序排列,不能重复。

list列表:有序,可以重复。

map映射:键不能重复,值可以重复,

 

几种常见集合特点总结与比较

List接口

有序

可重复

 

 

 

Set接口

无序

不可重复

 

 

 

ArrayList实现类

实现List接口

可空

可重复

有序

不同步(线程不安全)

Vector实现类

实现List接口

可空

可重复

有序

同步(线程安全),是一种老的方法

HashSet实现类

实现set接口

可空

不重复

无序

不同步

Map顶级接口

存放键值对

Key不重复,value可以重复

 

 

 

HashMap实现类

 

可空

不重复

无序

不同步

HashTable实现类

 

非空

不重复

无序

同步

 

TreeSet

实现Collection接口

NavigableSet 接口保证了它可以有序

   不同步
TreeMap底层:jdk8及其以后都是位桶+链表+红黑树(之前没有红黑树进行优化)   不同步
ConcurrentHashMap实现MapKEY和Value不能为空  同步
Collection接口     

 

类与类:单继承

类与接口:多实现

接口之间:多继承

 

Collection  :  顶级接口。     List,Set继承Collection顶级接口

 

关于接口、实现类的具体介绍在后边再具体详说!

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你家宝宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值