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

List、Map、Set

  • List
  • 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类的UML类图

  • LinkedList内部的Node

    在这里插入图片描述

  • LinkedList的add逻辑
    在这里插入图片描述
    3> Vector(对外提供的方法全部被synchronized修饰,操作是线程安全的
    在这里插入图片描述

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

    扫描二维码关注公众号,回复: 11951537 查看本文章

    在这里插入图片描述

二:Map

在这里插入图片描述

1> HashMap
在这里插入图片描述
2> TreeMap
在这里插入图片描述

三:Set

在这里插入图片描述1> HashSet
在这里插入图片描述

2> TreeSet
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42292831/article/details/109138001