黑马程序员技术交流社区
标题:
List集合的特点
[打印本页]
作者:
Keai720
时间:
2019-4-4 09:14
标题:
List集合的特点
List集合的特点
特点:有序, 可重复
进阶: 集合的初始化大小是 10 ,每次扩容是1.5
特有的方法
public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。
public E get(int index) :返回集合中指定位置的元素。
public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素
实现类
ArrayList : 有序,底层是数组,有索引, 可重复,查询快,增删慢
linkedList : 双向链表 Node --> next pre
特点:查询慢,增删快
### Set
特点: 无序( 存进去的顺序和取出来的顺序,不一致)
HashSet
特点: 底层是哈希表
哈希表:
1.7 :数组+链表
1.8 数组+链表+红黑树(效率)原因是当发生大量hash冲突后,会导致链表太长(查询效率低)
当链表长度 大于等于7 时,就会将链表转换成 红黑树
存储原理:
存储的元素会调用 hashCode 方法,决定这个元素要存放在哪儿, 若当前这个位置上没有元素,直接存进去, 若这个位置上有元素,调用eqauls 方法
eqauls
1.相等:不存
2.不相等: 挂上去
LinkedHashSet(了解)
底层是hash表,有一根链 用来记录元素的顺序,其他和hashSet一致
可变参数
参数中 int ... 变量名
本质:是一个数组
举例: change(3,4,5)
方法接受时 : public void change(int ... num) --> new Integer[]{3,4,5};
注意事项:
1.有且只能有一个可变参
2.如果有多个参数,多个参数中有一个为可变参,那么可变参只能写在后边
·
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2