zoukankan      html  css  js  c++  java
  • Java——Arrays类操作数组的工具类

      JDK中提供了一个专门用于操作数组的工具类,即 Arrays 类,位于 Java。util 包中。该类提供了一系列方法来操作数组,如排序、复制、比较、填充等,用户直接调用这些方法即可,不需要自己编码实现,降低了开发难度。

                            Arrays 类常用方法

    public static void main(String[] args) {
            
            //equals()方法用于比较两个数组是否相等。只有当两个数组长度相等,且对应位置的元素也一一相等时,该方法返回 true;否则返回false。
            //sort()方法对数组的元素进行升序排列,即以小到大顺序排列。
            //toString()方法将数组转换为字符串。
            //fill()方法替换数组的所有元素为相同的元素。
            //copyOf()方法将数组复制成一个长度为设定值得新数组。
            //binarySearch()方法查询数组元素在数组中的下标。
            
            int[] arr1= {10,40,30,20,50};
            int[] arr2= {10,20,30,40,50};
            
            //使用 Arrays 类 equals 方法比较arr1和 arr2 的长度即元素是否相等
            System.out.println("用equals比较后:"+Arrays.equals(arr1, arr2));
            
            //替换数组元素     统一替换
            Arrays.fill(arr1,30);  
            System.out.println("用fill替换后:"+Arrays.toString(arr1));
            
            //复制长度4的数组
            int[] arr3 = Arrays.copyOf(arr1,3);
            System.out.println("复制数组后:"+Arrays.toString(arr3));
            //升序
            Arrays.sort(arr1);
            
            //查询某个元素在数组的下标
            int index = Arrays.binarySearch(arr1, 30);
            System.out.println("查找元素下标:"+index);
            
        }

    输出结果:

    用equals比较后:false
    
    用fill替换后:[30, 30, 30, 30, 30]
    
    复制数组后:[30, 30, 30]
    
    查找元素下标:2

    》使用Arrays 对数组升序排序
    public static void main(String[] args) {
            
            Scanner input =  new Scanner(System.in);
            //声明一个成绩数组
            int[] scores =new int[5];
            
            //循环录入学生成绩
            for (int i = 0; i < scores.length; i++) {
                System.out.println("输入第"+i+"名学生的成绩:");
                scores[i]=input.nextInt();
                
            }
            
            //升序排序前学员成绩循环输出
            System.out.println("升序排序前:");
            for (int i = 0; i < scores.length; i++) {
                System.out.print(scores[i]+"	");
            }
            
            Arrays.sort(scores);  //对数组进行升序排序        
            System.out.println("
    升序后:");
            for (int i = 0; i < scores.length; i++) {
                System.out.print(scores[i]+"	");
            }
    
        }

    》通过compareToIgnoreCase 比较两个字符串的大小
    public static void main(String[] args) {
            
            Scanner input = new Scanner(System.in);
            
            String[] musics =new String[5];
            musics[0]="Island";
            musics[1]="Ocean";
            musics[2]="Pretty";
            musics[3]="Sun";
            int index=musics.length-1;
            System.out.print("插入前的数组为:");
            for (int i = 0; i < musics.length; i++) {
                if(musics[i]==null)  //为null的时候跳出
                    break;
                System.out.print(musics[i]+"	");
            }
            System.out.println("
    请输入歌曲名称:");
            String music =input.next();
            
            //查找要插入元素的下标
            for (int i = 0; i < musics.length; i++) {
                if(musics[i].compareToIgnoreCase(music)>0){
                    System.out.println(musics[i].compareToIgnoreCase(music));
                    index=i;
                    break;
                }
            }
            //数组元素后移
            for (int i =musics.length-1 ; i> index; i--) {
                musics[i] = musics[i-1];
            }
            
            musics[index]=music;
            System.out.println("插入下标为:"+index);
            System.out.print("插入后的数组为:");
            for (int i = 0; i < musics.length; i++) {
                System.out.print(musics[i]+"	");
            }
        }
  • 相关阅读:
    201720181 JaWorld 第三周作业
    201720181 Java小组1623 第一周作业
    201720181 JaWorld 第四、五周作业
    201720181 Java小组1623 第二周作业
    无法打开用户默认数据库的解决方法
    技术网站/博客网址收藏
    .net中防止用户多次登录的方法
    asp.net导出excel方法总结
    面向对象设计模式之Bridge桥接模式(结构型)
    面向对象设计模式之Composite组合模式(结构型)
  • 原文地址:https://www.cnblogs.com/szj-ang/p/7267753.html
Copyright © 2011-2022 走看看