------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
collection
list:元素是有序的,元素可以重复,因为该集合体系有索引
ArrayList:底层的数据结构使用的是数组结构,特点:查询数据很快,但是增删稍慢
LinkedList:底层使用的链表数据结构,特点:增删速度很快,查询稍慢
vector:底层是数组数据结构,线程同步,被ArrayList替代了
set:元素是无序的,元素不可以重复.
list:
特有方法.凡是可以操作角标的方法都是该体系特有的方法.
增加:
add(index,element)
addAll(index,collection)
删除:
remove(index);
修改:
set(index,element)
查询:
get(index);
subList(from,to);
listIterator();
int indexOf(obj):获取指定元素的位置.
ListIterageot listIterator();
list集合特有的迭代器:ListIterator是Iterator的子接口
set:
元素是无序的,元素不可以重复
HashSet:底层数据结构是哈希表.线程是非同步的
如何保证元素的唯一性?
是通过元素的两个方法,hashCode,equals来完成
如果元素的hashCode相同,才会判断equals是否为true
如果元素的hashCode不同,才会判断equals
注意:对于判断元素是否存在,以及删除操作,都是依赖元素的hashCode和equals方法
TreeSet:可以对set集合中的元素进行排序
底层数据结构是二叉树
保证元素唯一性的依据:
compareTo方法return 0
TreeSet排序的第一种方式:让元素自身具备比较性
元素需要实现comparable接口,覆盖compareTo方法.
这种方式也成为元素的自然顺序,或者叫做默认顺序
TreeSet的第二种排序方式.
当元素自身不具备比较性时,或者具备的比较性不是所需的比较性
这时就需要让自身的集合具备比较性
在集合初始化时,就有了比较方式.
Set集合的功能和Collection是一致的