Java - 【集合框架一:概述】List、Map、Set

   日期:2020-10-19     浏览:97    评论:0    
核心提示:List、Map、SetListList部分方法的简单测试ArrayList数组自动扩容算法LinkedListVectorMapHashMapSetHashSetTreeSet一:List1> ArrayList​ArrayList采用的扩容机制(默认取0,add时自动取10,1.5倍扩容)测试该扩容机制public clas

List、Map、Set

  • List
    • List部分方法的简单测试
    • ArrayList
      • 数组自动扩容算法
    • LinkedList
    • Vector
  • Map
    • HashMap
    • TreeMap
  • Set
    • HashSet
    • TreeSet

一:List

1> ArrayList

  • ArrayList采用的扩容机制(默认取0,add时自动取10,1.5倍扩容

    • 测试该扩容机制

      
      public class ListTest { 
          public static void main(String[] args) { 
              int oldCapacity = 10;
              System.out.println(1 >> 1);    // 0
              System.out.println(-1 >> 1);    // -1
              System.out.println(1 >> 2);    // 0
              System.out.println(1 >>> 1);    // 0
              System.out.println(-1 >>> 1);    // 2147483647
              System.out.println(1 >>> 2);    // 0
              int newCapacity = oldCapacity + (oldCapacity >> 1);
              System.out.println(newCapacity);    // 15
      
      
              int a = 12;
              int b = 26;
              int c = 33;
              System.out.println(a+(a>>1));    // 18 = 12+6
              System.out.println(b+(b>>1));    // 39 = 26+13
              System.out.println(c+(c>>1));    // 49 = 33+16
      
              System.out.println(c*1.5);    // 49.5
              System.out.println(Math.round(c*1.5));    // 50:long
              System.out.println(Math.ceil(c*1.5));     // 50.0:double
              System.out.println(Math.floor(c*1.5));    // 49.0:double
      
              System.out.println(c*1.5*(-1));    // -49.5
              System.out.println(Math.round(c*1.5*(-1)));    // -49:long
              System.out.println(Math.ceil(c*1.5*(-1)));     // -49.0:double
              System.out.println(Math.floor(c*1.5*(-1)));    // -50.0:double
          }
      }
      

2> LinkedList

  • LinkedList内部的Node

  • LinkedList的add逻辑

    3> Vector(对外提供的方法全部被synchronized修饰,操作是线程安全的

  • Vector采用的扩容机制(初始化容量10,扩增容量大小可以自定义+默认2倍)

二:Map

1> HashMap

2> TreeMap

三:Set

1> HashSet

2> TreeSet

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服