A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Keai720 中级黑马   /  2019-4-4 09:14  /  673 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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.如果有多个参数,多个参数中有一个为可变参,那么可变参只能写在后边

·

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马