zoukankan      html  css  js  c++  java
  • Java 数组详解

    数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。

    组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

    数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

    1初始化数组

    动态初始化

    Java | 复制
    1
    2
    3
    4
    5
    6
    7
    8
    int[] array = new int[3];
    // 两种方式都可以
    // int array[] = new int[3];
    array[0] = 1;
    array[1] = 2;
    array[2] = 3;
     
    System.out.println(array[0]);

    静态初始化

    Java | 复制
    1
    2
    3
    4
    5
    int[] array = { 1234 };
    int[] array1 = new int[] { 1234 };
     
    System.out.println(array[2]);
    System.out.println(array1[2]);

    默认初始化

    Java | 复制
    1
    2
    int[] array = new int[4];
    System.out.println(array[2]);

    2获取数组的长度

    Java | 复制
    1
    2
    3
    int[] array = new int[10];
    int length = array.length;
    System.out.println("数组array的长度是:" + length);

    3二维数组

    二维数组初始化

    同一维数组一样,共有4总不同形式的定义方法:

    Java | 复制
    1
    2
    3
    4
    int[][] array1 = new int[10][10];
    int array2[][] = new int[10][10];
    int array3[][] = { { 111 }, { 222 } };
    int array4[][] = new int[][] { { 111 }, { 222 } };

    不定长二维数组

    Java | 复制
    1
    2
    3
    4
    int[][] array = new int[3][];
    array[0] = new int[1];
    array[1] = new int[2];
    array[2] = new int[3];

    获取二维数组的长度

    Java | 复制
    1
    2
    3
    4
    5
    6
    int length1 = array.length;
    int length2 = array[0].length;
    // 获取二维数组的第一维长度(3)
    System.out.println(length1);
    // 获取二维数组的第一维的第一个数组长度(1)
    System.out.println(length2);

    4数组遍历

    传统方式遍历

    Java | 复制
    1
    2
    3
    4
    int[] array = new int[] { 123 };
    for (int i = 0; i < array.length; i++) {
        System.out.println("array[" + i + "] = " + array[i]);
    }

    增强for循环方式遍历

    Java | 复制
    1
    2
    3
    4
    int[] array = new int[] { 123 };
    for (int i : array) {
        System.out.println(i);
    }

    5数组排序

    Java | 复制
    1
    2
    3
    int[] array = { 32145 };
    Arrays.sort(array);
    System.out.println(Arrays.toString(array));

    另:常用的排序方法有冒泡排序、快速排序、选择排序、插入排序、希尔(Shell)排序、堆排序。可参考Java 数组排序

    6数组的复制、插入和合并

    参考:Java 一维数组复制、插入和合并

    7实用API

    输出数组

    Java | 复制
    1
    2
    int[] array = { 123 };
    System.out.println(Arrays.toString(array));

    数组转List

    Java | 复制
    1
    2
    3
    String[] array = { "a""b""c""d""e" };
    List<String> list = new ArrayList<String>(Arrays.asList(array));
    System.out.println(list);

    数组转Set

    Java | 复制
    1
    2
    3
    String[] array = { "a""b""c""d""e" };
    Set<String> set = new HashSet<String>(Arrays.asList(array));
    System.out.println(set);

    List转数组

    Java | 复制
    1
    2
    3
    4
    5
    6
    7
    8
    List<String> list = new ArrayList<String>();
    list.add("a");
    list.add("b");
    list.add("c");
    String[] array = new String[list.size()];
    list.toArray(array);
    for (String s : array)
        System.out.println(s);

    数组中是否包含某个值

    Java | 复制
    1
    2
    3
    String[] array = { "a""b""c""d""e" };
    boolean b = Arrays.asList(array).contains("a");
    System.out.println(b);

    数组合并

    Java | 复制
    1
    2
    3
    4
    int[] array1 = { 12345 };
    int[] array2 = { 678910 };
    int[] array = org.apache.commons.lang.ArrayUtils.addAll(array1, array2);
    System.out.println(Arrays.toString(array));

    String数组转字符串(使用指定字符拼接)

    Java | 复制
    1
    2
    3
    String[] array = { "a""b""c" };
    String str = org.apache.commons.lang.StringUtils.join(array, ", ");
    System.out.println(str);

    数组逆序

    Java | 复制
    1
    2
    3
    int[] array = { 12345 };
    org.apache.commons.lang.ArrayUtils.reverse(array);
    System.out.println(Arrays.toString(array));

    数组元素移除

    Java | 复制
    1
    2
    3
    int[] array = { 12345 };
    int[] removed = org.apache.commons.lang.ArrayUtils.removeElement(array, 3);
    System.out.println(Arrays.toString(removed));

    8数组异常

    1. 数组下标越界异常,java.lang.ArrayIndexOutOfBoundsException

    在java中,数组下标从0开始,我们定义了一个长度为3的数组,想要从中取出第四位,便会抛出此异常。

    Java | 复制
    1
    2
    int[] array = new int[] { 123 };
    System.out.println(array[3]);

     

  • 相关阅读:
    WPF自定义控件
    NPOI设置Excel单元格字体、边框、对齐、背景色
    关于StreamReader.ReadToEnd方法
    ASP.NET Core Web多语言项目
    docker与虚拟机的区别
    C# Task.Run 和 Task.Factory.StartNew 区别
    MVC的SignalR例子
    深圳游玩攻略
    一个域名下多个Vue项目
    Linq的执行效率及优化
  • 原文地址:https://www.cnblogs.com/lzq198754/p/5780196.html
Copyright © 2011-2022 走看看