集合框架和泛型

认识集合

如果并不知道程序运行时会需要多少对象,或者需要 更复杂方式存储对象——可以使用Java集合框架。Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中。

Collection  接口存储一组不唯一,无序的对象。

List  接口存储一组不唯一,有序(插入顺序)的对象。

Set  接口存储一组唯一,无序的对象。

Map  接口存储一组链值对象,提供key到value的映射。

List接口的实现类

ArrayList  实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高。

经常称ArrayList 为动态数组,但是它不等同于数组,ArrayList 集合中可以添加任何类型的数据,并且添加的数据都将转换为Object类型。

ArrayList 类提供了很多方法用于操作数据:

LinkedList采用链表存储方式,插入、删除元素时效率比较高。它支持实现所有List接口可选的列表的操作,并且允许元素值是任何数据,包括null。

它处理包含ArrayList 类所包含的方法外,还提供了以下方法:

Set接口

Set接口存储一组唯一,无序的对象

Set中存放对象的引用

HashSet是Set接口常用的实现类,有以下特点:

集合内的元素是无序排列的;HashSet类是非线程安全的;允许集合元素值为null。

HashSet类的常用方法如下:

HashSet类不存在get()方法,所以Set接口无法使用普通for循环遍历。

Iterator接口

获取Iterator:Collection 接口的iterator()方法

Iterator的方法:

boolean hasNext():判断是否存在另一个可访问的元素

Object next():返回要访问的下一个元素

Map接口

Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作

最常用的实现类是HashMap

Map接口常用方法:

数据添加到HashMap集合后,所有数据的数据类型将转换为Object类型,所以从其中获取数据时需要进行强制类型转换。

Collections类常用方法

Collections和Collection不同,前者是集合的操作类,后者是集合接口。

Collections提供的常用静态方法:

sort():排序

binarySearch():查找

max()\min():查找最大\最小值

泛型

将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性,这就是泛型,本质就是参数化类型。

JDK1.8使用泛型改写了集合框架中的所有接口和类。

定义语法如下:

类1或者接口<类型实参>对象=new类2<类型实参>();

泛型集合

泛型集合可以约束集合内的元素类型

典型泛型集合ArrayList<E>、HashMap<K,V>

<E>、<K,V>表示该泛型集合中的元素类型

泛型集合中的数据不再转换为Object

除了指定了集合中的元素类型外,泛型集合和之前学习的集合的用法完全一样。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值