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

  • 相关阅读:
    uva 11549
    uva 11078
    uva 1335
    uva 1267
    uva 11520
    uva 12124
    uva 10795 A Different Task
    ACM俱乐部算法基础练习赛(1)
    【BZOJ1010】玩具装箱
    【BZOJ1901】Dynamic Rankings
  • 原文地址:https://www.cnblogs.com/coffeerun/p/5725283.html
Copyright © 2020-2023  润新知