1.数组定义:
(1)type arrayName[]; int array[];
(2) type[] arrayName; int[] array;
(1)(2)相同,按习惯使用
2.数组初始化(无论静/动态初始化,数组大小是固定的):
(1)静态初始化:int intArray[] = {1,2,3,4}; (数组是用大括号来表示的)
(2)动态初始化:String stringArray[] = new String[3];
stringArray[0] = “qwe”;
stringArray[1] = “rty”;
stringArray[2] = “uio”;
3.二维数组:
(1)定义:二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同
int[][] intArray;
int intArrat[][];
(2)初始化:静态初始化 int intArray[ ][ ] = { {1,2}, {2,3}, {3,4,5} }; int[][] arr = new int[3][5];---定义了一个整型的二维数组,包含3个一维数组,每个一维数组可以存储5个整数
动态初始化 int a[ ][ ] = new int[2][ ]; 表示数组里有两个数组
a[0] = new int[3];第一个一维数组有3个元素
a[1] = new int[5];第二个一维数组有5个元素
4.数组长度(java):
(1)一维数组:array.length;(无括号)
(2)二维数组:行(Row)长度:array.length ;(表示数组里有几个数组) int intArray[ ][ ] = { {1,2}, {2,3}, {3,4,5} };
列(Column)长度:array[i].length ;(表示每个一维数组里有几个元素)
(3)分清求长度的函数
数组:array.length;(无括号)
string:的成员方法length()获取字符串长度。
List:size()
5.数组遍历:
(1)一维数组
方法一:for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + ",");
}
(2)二维数组
for (int i = 0; i < arr.length; i++){
for (int j = 0; j < arr[i].length; j++)
System.out.print(arr[i][j] + " ");
System.out.println();
}
6.数组Array和集合的区别:
(1)数组大小固定的(元素可重复),并且同一个数组只能存放类型一样的数据(基本类型/引用类型)
(2)JAVA集合可以存储和操作数目不固定的一组数据。
(3)若程序不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。
7.集合:List、Set、Map是这个集合体系中最主要的三个接口。
(1)List:继承自Collection接口。List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。 ArrayList 是线程不安全的, Vector 是线程安全的,这两个类底层都是由数组实现的,LinkedList 是线程不安全的,底层是由链表实现的。
(2)Set:Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。Set 只能通过游标来取值,并且值是不能重复的。
(3)Map:Map是键值对集合。其中其中key列就是一个集合,key不能重复,但是value可以重复。HashMap、TreeMap和Hashtable是Map的三个主要的实现类。HashTable 是线程安全的,不能存储null值,HashMap不是线程安全的,可以存储null值。
具体集合相关知识点:http://www.cnblogs.com/summers/p/4094260.html