javacollection
Collection说明
java的collection大致有三种:list set map;各有特色。
List
List对象中的元素按照插入的顺序保存,有两种方式保存:数组和链表;
数组和链表有很大区别,数组需要在初始化的时候设置容量,链表则不需要;
数组方式的删除会很麻烦,需要把删除 位置之后的所有元素挨个向前移动,链表方式则很简单,只需要把删除元素的指针指向修改即可;
数组方式的查找单个元素很简单,直接定位即可,链表方式则必须从头开始查找;
重要方法
contains(Object o)
该方法比较的时候,遍历整个list,找到即退出,对比是否存在时,使用equals()方法,所以,如果需要正确的找出元素,则需要“o”这个类重写equals()方法,否则,调用object.equals()方法----对比两个对象的内存地址。
toArray() 把队列转换成数组
LinkedList和ArrayList两者有很大区别:linkedList是把对象赋值给数组,ArrayList则是使用Arrays.copyTo进行深复制,保证数组跟原来的数据没有任何关系。
retainAll(Collection<?> c) 保留队列中存在c的数据
Set
set底层是Map,所有方法都是以map为底层实现,所以它没什么具体的方法,所谓的唯一,只是map中的值替换。