zoukankan      html  css  js  c++  java
  • 数组(一维数组、二维数组、与数组相关的函数)

    1、一维数组

    (1)定义一个数组:

    创建一个长度为50的数组:

    int[] arr=new int[50];

    定义数组时给数组赋值:

    int[] arr = {5,1,12,4,6,8,0,3};

    要注意和C语言定义数组的方式区别:

    int a[5] = {1, 2, 3, 4, 5};

    (2)遍历一维数组:

    public class ArrayDemo {
        public static void main(String[] args) {
        int[] arr = {5,1,12,4,6,8,0,3};
        System.out.println("arr的遍历");
        for(int i = 0 ; i < arr.length; i++){
            System.out.print(arr[i]);
            System.out.print("	");
        }
        }
    }

    2、二维数组

      (1)定义一个二维数组:

    int[][] arr = new int[2][4];
    
    int[][] arr = new int[5][];
    
    int[][] arr = {{1,2,2},{3,4,5,6},{7,8,3,9}};

    (2)二维数组的遍历:

    public class Array{
        public static void main(String[] args){
            int[] arr0 = {5,1,12,4,6,8,0,3};
            int[][] arr = { {1,2,3},
                            {4,5},
                            {6,7,8,9},
                            {0} };
            System.out.println("*********二维数组**********");
            System.out.println("1、元素求值:");
            System.out.println(arr[2][1]);//问题: 打印7,是数组中的元素0
            System.out.println(arr[3][0]);//问题: 输出结果
            System.out.println();
            System.out.print("2、遍历数组:");
            System.out.println();
            for(int i = 0 ; i < arr.length ;i++){//外循环,遍历二维数组  
                for(int j = 0 ; j < arr[i].length; j++){//内循环,遍历每个一维数组 arr[0] arr[1] arr[i]
                         System.out.print("  "+arr[i][j]+",");
                        }
                        System.out.println();
        }
            System.out.println();
            System.out.println("3、arr的属性");
            System.out.println("arr的行数为:"+arr.length);
            System.out.println("arr第四行元素个数为:"+arr[3].length);
            }
    }

     3、与数组相关的函数

    (1)使用 System.arraycopy()函数拷贝数组

    public class ArrayCopyDemo {
        public static void main(String[] args) {
            int Arr1[] = new int[] { 1, 2, 3, 4, 5 };
            int Arr2[] = new int[] { 9, 8, 7, 6, 5, 4, 3 };
            System.arraycopy(Arr1, 0, Arr2, 0, 3);//static类型方法,直接类名调用。
            // 复制源数组中从下标 0 开始的 3 个元素到目的数组,从下标 0 的位置开始存储。
            for (int i = 0; i < Arr1.length; i++)
                System.out.print(Arr1[i]);
            System.out.println();
            for (int j = 0; j < Arr2.length; j++)
                System.out.print(Arr2[j]);
            System.out.println();//复制的数组元素的个数一定不要超过目的数组的长度。
        }
    }

    将源数组指定个数的元素复制到目标数组,但是,目标数组的元素会被覆盖。

    (2) Arrays.sort 来对数组排序

    package SortDemo;
    
    import java.util.*;
    
    public class SortDemo {
    public static void main(String[] args) {
    int [] Arr = new int[] { 10, 21, 4, 9, 8, 3, 34, 99 };
    Arrays.sort(Arr);
    for (int i = 0; i < Arr.length; i++) {
    System.out.print(Arr[i]);
    System.out.print(" ");
    }
    }
     }

     (3)Arrays.equals(数组1,数组2):

    static boolean equals(boolean[] a, boolean[] a2) 
    如果两个指定的布尔数组彼此 相等 ,则返回
    true
    static boolean equals(byte[] a, byte[] a2)
    如果两个指定的字节数组彼此 相等 ,则返回
    true
    static boolean equals(char[] a, char[] a2)
    如果两个指定的字符数组彼此 相等 ,则返回
    true
    static boolean equals(double[] a, double[] a2)
    如果两个指定的双精度数组彼此 相等 ,则返回
    true
    static boolean equals(float[] a, float[] a2)
    如果两个指定的浮动数组彼此 相等 ,则返回
    true
    static boolean equals(int[] a, int[] a2)
    如果两个指定的int数组彼此 相等 ,则返回
    true
    static boolean equals(long[] a, long[] a2)
    如果两个指定的longs数组彼此 相等 ,则返回
    true
    static boolean equals(Object[] a, Object[] a2)
    如果两个指定的对象数组彼此 相等 ,则返回
    true
    static boolean equals(short[] a, short[] a2)
    如果两个指定的短裤阵列彼此 相等 ,则返回
    true
    static void fill(boolean[] a, boolean val)
    将指定的布尔值分配给指定的布尔数组的每个元素。
    import java.util.Arrays;
    
    public class ArrayTest {
        public static void main(String[] args) {
            int [] Arr1 = new int[] { 10, 21, 4, 9, 8, 3, 34, 99 };
            int [] Arr2 = new int[] { 10, 21, 4, 9, 8, 3, 34, 99 };
            Boolean b= Arrays.equals(Arr1,Arr2);
            System.out.println(b);
        }
    }

    判断两个数组中的元素是否相等,相等则返回true,不相等则返回false。

  • 相关阅读:
    Maven编译jar出现:无法确定 T 的类型参数的异常的原因和处理方案
    Guava学习笔记:Range
    Guava学习笔记:EventBus
    Guava学习笔记:Guava cache
    Guava学习笔记:Guava新集合-Table等
    Guava学习笔记:Guava新增集合类型-Bimap
    Guava学习笔记:Guava新增集合类型-Multimap
    Guava学习笔记:Guava新增集合类型-Multiset
    Guava学习笔记:Immutable(不可变)集合
    SpringBoot 常用注解
  • 原文地址:https://www.cnblogs.com/zhai1997/p/11260094.html
Copyright © 2011-2022 走看看