一、数组
定义:数组是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.集合不允许存放基本数据类型数据,存放数据时,要用包装类型
本文主要介绍了Java中数组和集合的相关知识。数组是Java内置数据类型,长度固定,有动态和静态两种初始化方式,可通过for循环和增强for循环遍历,访问不存在的索引会引发异常。集合介绍了常用接口和类。还对比了集合类和数组的区别,如长度、存放对象类型等。

535

被折叠的 条评论
为什么被折叠?



