栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础学习——数组(6)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础学习——数组(6)

目录
    • 基础数组操作
        • 二维数组
    • Arrays工具类

基础数组操作
//基本数组创建
int[] a=new int[50];//a[50]
int b[] = new int[50];//b[50]
int[][] c = new int[30][30];//c[30][30]
int d[][] = new int[30][30];//d[30][30]
public class array_demo {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        //print all elements
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println("sum=" + sum);
        //print sum of arrays:sum=15
        int maxn = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > maxn) {
                maxn = arr[i];
            }
        }
        System.out.println("the max number is " + maxn);
        //print the max number:the max number is 5
        printArray(arr);
        System.out.println();
        int[] reverse = reverseArray(arr);
        printArray(reverse);
    }

    public static void printArray(int[] arrays) {
        for (int i = 0; i < arrays.length; i++) {
            System.out.print(arrays[i] + " ");
        }
    }

    //function:1 2 3 4 5 
    public static int[] reverseArray(int[] arrays) {
        int[] res = new int[arrays.length];
        for (int i = 0, j = res.length - 1; i < arrays.length; i++, j--) {
            res[j] = arrays[i];
        }
        return res;
    }
    //reverse:5 4 3 2 1 
}

二维数组
int[][] e = {{1, 2}, {3, 4}};
int f[][] = {{5, 6}, {7, 8}};
for (int i = 0; i < e.length; i++) {
     for (int j = 0; j < e.length; j++) {
          System.out.print(e[i][j] + " ");
     }
     System.out.println();
}
Arrays工具类

1.给数组赋值:fill

int b[] = new int[5];
Arrays.fill(arr,0,arr.length,val);
Arrays.fill(arr,val);//缩写



1.fill二维数组

		int[][] d=new int[3][3];
		int[] b=new int[4];//随便找一个数组类型的进行间接赋值
		Arrays.fill(b, 3);
		Arrays.fill(d, b);
        for (int i = 0; i < d.length; i++) {
            for (int j = 0; j < d.length; j++) {
                System.out.print(d[i][j]);
            }
            System.out.println();
        }

2.数组排序:sort

Array.sort(arr);//123467
Arrays.sort(arr2, 0, 4);//[2, 3, 6, 7, 4, 1]

还可以改cmp自定义排序,但是需要重写或者用lambda匿名函数
注意:这时需要把int型改成Integer型

Arrays.sort(arr2, 0, 4, (o1, o2) -> {
            return o2 - o1;
        });

二维数组排序
需要重写

int arr1[][] = {{3, 2}, {2, 4}, {1, 9}};
        Arrays.sort(arr1, new Comparator() {
            @Override
            public int compare(int[] o1, int[] o2) {
                return o1[0] - o2[0];
            }
        });
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 2; j++) {
                System.out.print(arr1[i][j]);
            }
            System.out.println();
        }

3.比较:equals
它也可以重写来自定义cmp,这里就不举例了

System.out.println(Arrays.equals(arr1,arr1));//true

4.二分查找:binarySearch
它也可以分段查找

int arr3[] = {1, 2, 3, 4, 5, 6};
        System.out.println(Arrays.binarySearch(arr3, 0));//-1
        System.out.println(Arrays.binarySearch(arr3, 3));//2
        System.out.println(Arrays.binarySearch(arr3, 1,4,2));//1
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644689.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号