Java集合类和数组概述

一、数组

    定义:数组是java语言内置的数据类型,线性的序列,长度固定,容量不变,生命周期不能改变,会有边界检查

     a)动态初始化,指定长度, 格式:数据类型[] 数组名称 = new 数据类型[长度];

      int[] arr = new int[10];

           数组元素的默认值规则为:整数默认为0,浮点数默认为0.0,字符默认为’\u0000’,布尔值默认为false,字符串等引用类型默认为null。

     b)静态初始化

          int[] a = { 1, 2, 3};// 静态初始化基本类型数组;

          Man[] mans = { newMan(1, 1), newMan(2, 2) };// 静态初始化引用类型数组;

          如果是引用类型(包含字符串),默认为null(空常量)。

     遍历:(1)for循环

                (2)增强for循环(for-each循环)增强for循环在遍历数组过程中不能修改数组中某元素的值。for-each仅适用于遍历,不涉及有关索引(下标)的操作。

     数组索引越界异常

         如果访问的数组元素索引并不存在,那么将会发生异常:

         java.lang.ArrayIndexOutOfBoundsException。

         注意,数组元素索引编号从0开始,一直到“数组长度-1”为止

二、集合

java.util.Collection [I]
    +--java.util.List [I]
       +--java.util.ArrayList [C]    
       +--java.util.LinkedList [C]  
       +--java.util.Vector [C]    //线程安全
          +--java.util.Stack [C]  //线程安全
    +--java.util.Set [I]                   
       +--java.util.HashSet [C]      
       +--java.util.SortedSet [I]    
          +--java.util.TreeSet [C]    
    +--Java.util.Queue[I]
        +--java.util.Deque[I]   
        +--java.util.PriorityQueue[C]  
java.util.Map [I]
    +--java.util.SortedMap [I]
       +--java.util.TreeMap [C]
    +--java.util.Hashtable [C]   //线程安全
    +--java.util.HashMap [C]
    +--java.util.LinkedHashMap [C]
    +--java.util.WeakHashMap [C]

[I]:接口
[C]:类
本图来源于网络。

常用的接口和类

Java集合类和数组概述

Java集合类和数组概述