Java中的数组
数组
定义:是一个容器,可以用来存储同一种数据类型的集合;
用处:可以用来存储多个 相同类型 的数据;
声明数组
第一种 声明方式
基本数据类型[] 数组名 = new 基本数据类型[数组的长度或者大小];
注意:
1、数组在声明时必须定义数组的长度或者大小;
2、默认初始化值:1)int 初始化值 为0;
2)double 初始化值 为 0.0;
3)boolean初始化值 为 false;
4)char 初始化值 为‘\u000’;
5)String 初始值 为null;(包括其他引用数据类型 初始值也都是null)
第二种 声明方式
数据类型[] 数组名 = [new 数据类型[] ]{元素,...}
明确存储的数据,需要一个容器来进行管理
什么时候使用数组:
如果数据出现了对应关系,且对应关系的一方是有序的数字编号,就可以将这些编号作为数组的脚标
对应值作为数组中的元素
数组的操作
常用的数组操作:
1、数组的声明
1 String[] aArray = new String[5]; 2 String[] bArray = {"a","b","c", "d", "e"}; 3 String[] cArray = new String[]{"a","b","c","d","e"};
2、数组的输出
1 int[] intArray = { 1, 2, 3, 4, 5 }; 2 String intArrayString = Arrays.toString(intArray); 3 4 // print directly will print reference value 5 System.out.println(intArray); 6 // [I@7150bd4d 7 8 System.out.println(intArrayString); 9 // [1, 2, 3, 4, 5]
3、由一个数组创建数组列表
1 String[] stringArray = { "a", "b", "c", "d", "e" }; 2 ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray)); 3 System.out.println(arrayList); 4 // [a, b, c, d, e]
4、检查一个数组中是否包含某个值
1 String[] stringArray = { "a", "b", "c", "d", "e" }; 2 boolean b = Arrays.asList(stringArray).contains("a"); 3 System.out.println(b); 4 // true
5、连接两个数组
1 int[] intArray = { 1, 2, 3, 4, 5 }; 2 int[] intArray2 = { 6, 7, 8, 9, 10 }; 3 // Apache Commons Lang library 4 int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
6、声明一个内联数组
1 method(new String[]{"a", "b", "c", "d", "e"});
7、把提供的元素放入一个字符串
1 // containing the provided list of elements 2 // Apache common lang 3 String j = StringUtils.join(new String[] { "a", "b", "c" }, ", "); 4 System.out.println(j); 5 // a, b, c
8、将一个数组列表转换为数组
1 String[] stringArray = { "a", "b", "c", "d", "e" }; 2 ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray)); 3 String[] stringArr = new String[arrayList.size()]; 4 arrayList.toArray(stringArr); 5 for (String s : stringArr) 6 System.out.println(s);
9、将数组转换为集合(set)
1 Set<String> set = new HashSet<String>(Arrays.asList(stringArray)); 2 System.out.println(set); 3 //[d, e, b, c, a]
10、逆向一个数组
1 int[] intArray = { 1, 2, 3, 4, 5 }; 2 ArrayUtils.reverse(intArray); 3 System.out.println(Arrays.toString(intArray)); 4 //[5, 4, 3, 2, 1]
11、移除数组中的元素
1 int[] intArray = { 1, 2, 3, 4, 5 }; 2 int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array 3 System.out.println(Arrays.toString(removed));
12、将整数转换为字节数组
1 byte[] bytes = ByteBuffer.allocate(4).putInt(8).array(); 2 3 for (byte t : bytes) { 4 System.out.format("0x%x ", t); 5 }
二维数组
声明:
数据类型[][] 数组名 = new 数据类型[][];
注意:
二维数组可以看作是数组为元素的数组,java中多维数组的声明和初始化应按从高维到低维的顺序进行。
1 int a[][] = new int[3][5];//分配一个三行五列的二维数组。