java高级

1.集合: 存放引用数据类型的容器。  主要学增删改查
            Collection:  集合,是一个接口,继承了Iterable,里面有很多方法
            List: 也是一个接口,继承了Collectio.
                 特点: 有序,可以重复
            Set:  也是一个接口,继承了Collectio
                 特点: 无序,不重复java
            Map:

2.ArrayList:   (add、get、size()、sort()最常用)
             特点: 内存空间连续
             add()
             remove(): 只能删除一个,如果有重复的数据,删除第一个
             get() :  通过索引获取
             set():
             size():  获取元素个数的
             sort()
             contains(Object o)
         ArrayList:  底层是Object数组。所有的增删改查都是基于数组进行的。
         size:       ArrayList里面标记元素个数的。
         添加的逻辑:
              如果底层的数组元素满了,就要扩容,扩容1.5倍。然后将元素添加到容器

3. ArrayList和LinkedList区别:
           ArrayList: 查询快,增删慢
           LinkedList 查询慢,增删快

4.hashSet和ArrayList区别:
                     hashSet:无序,不重复
           ArrayList:有序,可以重复

5.hashSet和hashtable区别:
         hashSet线程不安全  效率高
         Hashtable 线程安全,效率低

6.使用场景:去重

7.迭代器:iterator
            - hasNext
            - next

8.增强for循环   foreach循环
         实现了Iterable接口的都可以用

         for(泛型数据类型  变量 :  集合名称){
             操作变量
         }

         优点:  简单明了
         缺点:  不能操作索引

9.HashMap:  双列集合    <K,V>    (get、put常用)
     
          put   如果键存在就是修改,不存在就是添加。
          get
          remove
          size
          keySet

10.面试题:
          jdk8 以后HashMap的数据结构是:  数组+ 链表+ 红黑树
          当放入某个元素的时候,hashCode算出来要放入的位置,该位置存在元素,那么就以链表的方法放到下面,
          如果元素超过8个,就变成红黑树。
          如果红黑树的情况下,map删除元素,当红黑树中的元素少于6个的时候,红黑树变成链表。  泊松分布。
          HashMap初始化的时候,数组长度为16.
          负载因子 0.75.
          扩容2倍

11.工具类  Collections    (sort、addAll常用)
     
       - sort
       - reverse
       - shuffle
       - min
       - max
       - addAll

12.数组和ArrayList转换
    Integer[] array = list.toArray(new Integer[0]);
    
            List.of(数组名称)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值