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]:类
本图来源于网络。

常用的接口和类

 

三、集合类和数组的区别

1.数组长度是固定的,集合长度可变

2.数组只能存放同类型的对象,集合可以存放不同类型的对象

3.集合不允许存放基本数据类型数据,存放数据时,要用包装类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值