集合的不常用类

集合

子接口比父接口提供了更多的功能

早期的Collection接口

实现原理和ArrayList相同,功能相同,都是长度可变的数组结构,很多情况下可以互用

主要区别:

Vector是早期JDK接口,ArrayList是替代Vector的新接口

Vector线程安全,效率低下;ArrayList重速度轻安全,线程非安全

长度需增长时,Vector默认增长一倍,ArrayList增长50%

Hashtable类

实现原理和HashMap相同,功能相同,底层都是哈希表结构,查询速度快,很多情况下可互用

区别:Hashtable是早期JDK提供,HashMap是新版JDK提供

Hashtable继承Dictionary类,HashMap实现Map接口

Hashtable线程安全,HashMap线程非安全

Hashtable不允许null值,HashMap允许

volataile+CAS无锁化操作

CopyOnWriteArrayList:写时复制

当我们往一个容器添加元素的时候,不直接往当前容器添加,二十先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素

添加完元素之后,再将原容器的引用指向新的容器,我们可以对容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素,所以CopyOnWrite也是一种读写分离的思想,读和写不同的容器

实现List和Map数据的转换,具体要求:

功能1:定义方法public void listToMap()将List中Student元素封装到Map中

1)使用·构造方法Student(int id,String name,int age,String sex)创建多个学生信息并加入List

2)遍历list,输出每个Student信息

3)将List中数据放入map,使用Student的id属性作为Key值,使用student对象信息作为value

4)遍历map ,输出每个Entry的key和value

功能2:定义方法public void mapToList()将map中student映射信息封装到List

1)创建实体类StudentEntry,可以存储Map中每个Entry的信息

2)使用构造方法Student(int id,String name,int age,String sex)创建多个学生信息并使用Student的id属性作为Key值,使用student对象信息作为value

3)创建List对象,每个元素类型时StudentEntry

4)将Map中每个Entry信息放入List对象

功能3:说明Comparable接口的作用,并通过分数来对学生进行排序

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值