集合框架中子类特点

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)方法。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章