ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

狂神java之 Arrays类介绍和常用方法

2022-02-27 18:00:36  阅读:130  来源: 互联网

标签:arr java Arrays System int 数组 狂神 out


 

package com.kuang;

import java.lang.reflect.Array;
import java.util.Arrays;

public class ArrayDemo06 {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5,999,215,84614,2154,23};
        System.out.println(a);//[I@4554617c
        //System.out.println(Arrays.toString(a));
        //printArray(a);
        Arrays.sort(a);//数组进行排序:升序   结果:[1, 2, 3, 4, 5, 23, 215, 999, 2154, 84614]
        System.out.println(Arrays.toString(a));//[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


        Arrays.fill(a,2,4,0);//填充
        System.out.println(Arrays.toString(a));


    }
    //重复造论
    public static void printArray(int[]a){
        for (int i = 0; i < a.length; i++) {
            if (i==0){
                System.out.print("{");
            }
            if (i==a.length-1){
                System.out.println(a[i]+"}");
            }else {
            System.out.print(a[i]+", ");
            }
            
        }
    }
}

Arrays.fill(); //填充数组

    int[] arr = new int[5];//新建一个大小为5的数组
    Arrays.fill(arr,4);//给所有值赋值4
    String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
    System.out.print(str);
    //输出:[4, 4, 4, 4, 4]

 

     int[] arr = new int[5];//新建一个大小为5的数组
    Arrays.fill(arr, 2,4,6);//给第2位(0开始)到第4位(不包括)赋值6
    String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
    System.out.print(str);
    //输出:[0, 0, 6, 6, 0]

Arrays.sort(); //数组排序

Arrays类有一个静态方法sort,利用这个方法可传入要排序的数组进去排序,因为传入的是一个数组的引用,所以排序完成的结果也通过这个引用来更改数组。

1.数字排序

    int[] intArray = new int[] { 4, 1, 3, -23 };
    Arrays.sort(intArray);
    //输出: [-23, 1, 3, 4]

2.字符串排序,先大写后小写

    String[] strArray = new String[] { “z”, “a”, “C” };
    Arrays.sort(strArray);
    //输出: [C, a, z]

3.严格按字母表顺序排序,也就是忽略大小写排序 Case-insensitive sort

    Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
    //输出: [a, C, z]

4.反向排序, Reverse-order sort

    Arrays.sort(strArray, Collections.reverseOrder());
    //输出:[z, a, C]

5.忽略大小写反向排序 Case-insensitive reverse-order sort

    Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
    Collections.reverse(Arrays.asList(strArray));
    //输出: [z, C, a]

6.选择数组指定位置进行排序

    int[] arr = {3,2,1,5,4};
    Arrays.sort(arr,0,3);//给第0位(0开始)到第3位(不包括)排序
    String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
    System.out.print(str);
    //输出:[1, 2, 3, 5, 4]

Arrays.toString(); //将数组中的内容全部打印出来

    int[] arr = {3,2,1,5,4};
    System.out.print(arr);//直接将数组打印输出
    //输出:[I@7852e922 (数组的地址)

    String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
    //System.out.print(str);
    //输出:[3, 2, 1, 5, 4]

Arrays.equals(); //比较数组元素是否相等

    int[] arr1 = {1,2,3};
    int[] arr2 = {1,2,3};
    System.out.println(Arrays.equals(arr1,arr2));
    //输出:true
    //如果是arr1.equals(arr2),则返回false,因为equals比较的是两个对象的地址,不是里面的数,而Arrays.equals重写了equals,所以,这里能比较元素是否相等。

Arrays.binarySearch(); //二分查找法找指定元素的索引值(下标)

数组一定是排好序的,否则会出错。找到元素,只会返回最后一个位置

    int[] arr = {10,20,30,40,50};
    System.out.println(Arrays.binarySearch(arr, 30));
    //输出:2 (下标索引值从0开始)

    int[] arr = {10,20,30,40,50};
    System.out.println(Arrays.binarySearch(arr, 36));
    //输出:-4 (找不到元素,返回-x,从-1开始数,如题,返回-4)

    int []arr = {10,20,30,40,50};
    System.out.println(Arrays.binarySearch(arr, 0,3,30));
    //输出:2 (从0到3位(不包括)找30,找到了,在第2位,返回2)

    int []arr = {10,20,30,40,50};
    System.out.println(Arrays.binarySearch(arr, 0,3,40));
    //输出:-4 (从0到3位(不包括)找40,找不到,从-1开始数,返回-4)

Arrays.copeOf() 和Arrays.copeOfRange(); //截取数组

    int[] arr = {10,20,30,40,50};
    int[] arr1 = Arrays.copyOf(arr, 3);
    String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来
    System.out.print(str);
    //输出:[10, 20, 30] (截取arr数组的3个元素赋值给新数组arr1)

    int []arr = {10,20,30,40,50};
    int []arr1 = Arrays.copyOfRange(arr,1,3);
    String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来
    System.out.print(str);
    //输出:[20, 30] (从第1位(0开始)截取到第3位(不包括))

标签:arr,java,Arrays,System,int,数组,狂神,out
来源: https://blog.csdn.net/m0_57968888/article/details/123166944

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有