zoukankan      html  css  js  c++  java
  • Java中Arrays工具类

    以下是实现六种功能的方法:

    1、比较两个数组值是否相等: 结果为true、false.(布尔型不能比较)

       int []a={10,20,30};

       int []b={10,20,30};

       int []c={1,2,3};

    boolean isEqual=Arrays.equals(a,b);

       System.out.println(isEqual);

       System.out.println(Arrays.equals(a,c));

    //如果是字符串:

    String[]s1={“ab”,”c”,”d”,”e”};

    Arrays.sort(s1);

    For(String s:s1){

         System.out.println(s);

    }

    2、fill方法:把整个数组里的每一个元素的值进行替换为val。(void fill(Arrays,val))

     

    3、BinarySearch:找到元素在数组当中的下标。

    String[]s3={“a”,”b”,”c”,”d”,”e”,”w”};

    Int index=Arrays.binarySearch(s3,”g”);

         System.out.println(“该元素的下标是:”+index);

     

    4、toString方法是把数组转换成字符串进行输出。(参数是数组,返回的是字符串)

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

       System.out.println(Arrays.toString(a1));

    即:【 String s1=Arrays.toString(a1);

       System.out.println(s1);】

    5、copyof把一个数组复制出一个新数组(新数组的长度为length)

    int[]ints1={11,22,33,44};

    int[]ints2=Arrays.coypOf(ints1,2);

    System.out.println(Arrays.toString(ints2));

    6、sort方法,把数组中的元素按升序排序。【参数:除了布尔型都可以,类也可以】

    例,输入六个数字,实现正序排列和倒序排列,并求其数字和

         Scanner input = new Scanner(System.in);

    int[] score=new int[6];

    int sum=0;

    //让用户输入6个数字

    for(int i=0;i<score.length;i++){

    System.out.println("请输入第"+(i+1)+"个数字");

    score[i]=input.nextInt();

    sum+=score[i];

    }

    //sort:从小到大排序

    Arrays.sort(score);

    for(int i:score){

    System.out.println(i);

    }  

    //sort:从大到小排序

    Arrays.sort(score);

    for(int i=score.length-1;i>=0;i--){

     

    System.out.println(score[i]);

    }System.out.println(sum);

    =========================二=====================================

    package com.hxzy.Arrays;
    import java.util.Arrays;
    public class Demo01 {
    public static void main(String[] args) {
        /*
         * Arrays类的使用
         * */
        //第一种 判断两个数组是否一致
        int[] arr1 = {10,52,63,62,514,666};
        int[] arr2 = {10,52,63,62,514,666};
        boolean ab = Arrays.equals(arr1, arr2);//只要两个数组。数据类型相同,数组中的元素,跟下标相同返回结果就是true
        System.out.println(ab);
        
        //第二种 实现数组的升序 实现数组中的元素从小到大排序
        Arrays.sort(arr1);//实现从小到大排序
        System.out.println(Arrays.toString(arr1));//必须用toString输出或者for循环
        
        //第三种 实现数组的降序 数组元素从小到大输出
        for(int i = arr1.length-1; i<=arr1.length;i--){
            //因为前面已经升序过了 这里直接做数组的降序就可以了
            if(i>=0) {
                System.out.print((arr1[i])+",");
                
            }
            
        }
        //强制for循环
        for(int a:arr1) {//因为已经升序了,会使用升序的方式输出
            System.out.print(a+",");
        }
        
         System.out.println();//用于换行
        
        //复制一组跟数组 数组中的元素 跟被复制的一致
         int[] arrs =Arrays.copyOf(arr1,7);
          for(int copy:arrs) {
              System.out.print(copy+",");
          }
          
          System.out.println();//用于换行
          
          //返回一个元素在数组中的下标
          int shu = Arrays.binarySearch(arr1,666);
          System.out.println(shu);//返回某个元素在数组中的下标
    }
    }

  • 相关阅读:
    XCTF-crypto---转轮机加密
    [Audio processing] wav音频文件读取int和double数组的关系
    [已解决问题] An error occurred while automatically activating bundle com.android.ide.eclipse.adt
    [C++关键字] alignof & alignas 内存对齐 sizeof 占内存大小
    [C++关键字] 内置类型
    [Git] MAC上Git初探
    [基础] 各种分类器比较
    [基础] 虚函数
    [工具] Numpy
    [基础] 模板+友元类外定义
  • 原文地址:https://www.cnblogs.com/gu-bin/p/9908194.html
Copyright © 2011-2022 走看看