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];//分配一个三行五列的二维数组。 

posted @ 2016-08-01 12:00  奔跑的咖啡豆  阅读(191)  评论(0编辑  收藏  举报