集合框架中子类特点

List  元素是有序的,元素可以重复,因为该集合体系有索引

1.ArrayList

底层的数据结构是数组结构。特点:查询速度快,但是增删相对较慢,线程不同步。

2.LinkedList

底层数据采用的是链表结构的。特点:增删较快,查询较慢。

2.Vector

底层的数据结构是数组结构。特点:线程同步,被ArrayList取代了。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Set:元素师无序的,元素不可以重复。

1.HashSet:

底层是哈希表结构。

HashSet是如何保持数据唯一性的?

是通过元素的两个方法hashCode()和equals()搞定的。

如果元素的hashCode相等则会判断equals()是否返回true。

2.TreeSet:

底层结构是二叉树。

可以对set元素集合进行排序。

保证元素唯一性的依据:comparaTo方法return 0;

(1)TreeSet排序的第一种方法

让其自身具备比较性。元素需实现comparable接口,覆盖comparsTo方法。

comparaTo(Object obj)

{

if(!(obj instanceof Student))

throw new RuntimeException("类型不匹配");

Student stu=(Student)obj;

int num=this.nam.compareTo(stu.name);

return num

}

(2)定义自己的比较器传为参数传入建立TreeSet的初始化中,

实现comparaTo接口  覆盖compare(String s1,String s2)方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值