zoukankan      html  css  js  c++  java
  • 数组的三种方式总结 多维数组的遍历 Arrays类的常用方法总结

    一.数组的三种声明方式总结

    public class WhatEver {
        public static void main(String[] args) {
            //第一种   例:
            String[] test1 = new String[6];
            test1[0] = "数组0";
            test1[1] = "数组1";
    
    
            //第二种 例:
            String[] test2 = {"数组0","数组1","数组2","...."};
    
            //第三种 例:
            String[] test3 = new String[]{"数组0","数组1","数组2","...."};
    
    
    
        }
    }

    二.多维数组的遍历/二维数组

    /二维数组
    public class Test1 {
        public static void main(String[] args) {
            int[] score1=new int[10];
            int[][] score2;
            String[][] names;
            //二维数组的初始化
            score2=new int[][]{{1,2,3},{3,4,5,6},{16,7}};//静态初始化
            names=new String[6][5];//动态初始化方式一
            names=new String[6][];//动态初始化方式二,一定要设置行数
            names[0]=new String[5];//第一行中有5个元素
            names[1]=new String[4];
            names[2]=new String[7];
            names[3]=new String[5];
            names[4]=new String[8];
            names[5]=new String[5];
            System.out.println("第一行中的元素:"+names[1].length);
            System.out.println(names.length);//打印的是二维数组有几行
    
            //如何遍历二维数组
            for(int m=0;m<score2.length;m++){//控制行数
                for(int n=0;n<score2[m].length;n++){//一行中有多少个元素(即多少列)
                    System.out.print(score2[m][n]+" ");
                }
                System.out.println();
            }
    
    
        }
    
    }
    

      

    三. Arrays类的常用方法总结 

    java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。

    3.1  asList()方法

             返回一个受指定数组支持的固定大小的列表。

    此方法还提供了一个创建固定长度(不可修改的数组 同singletonList)的列表的便捷方法,该列表被初始化为包含多个元素:

    List stooges = Arrays.asList("Larry", "Moe", "Curly");

    1 @SafeVarargs
    2     public static <T> List<T> asList(T... a) {
    3         return new ArrayList<>(a);
    4     }
    

       使用该方法可以返回一个固定大小的List,如

    1 List<String> stringList = Arrays.asList("Welcome", "To", "Java",
    2         "World!");
    3 
    4     List<Integer> intList = Arrays.asList(1, 2, 3, 4);
    

    3.2  copyOf()及copyOfRange方法 

    copyOf(int[] original, int newLength)
              复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。

    copyOfRange(int[] original, int from, int to)
              将指定数组的指定范围复制到一个新数组。

    1 String[] names2 = { "Eric", "John", "Alan", "Liz" };
    2 
    3 
    4     //[Eric, John, Alan]
    5     String[] copy = Arrays.copyOf(names2, 3);
    6     
    7     //[Alan, Liz]
    8     String[] rangeCopy = Arrays.copyOfRange(names2, 2,
    9         names2.length);
     
    

    3.3  sort()方法:对数组排序

    1 String[] names = { "Liz", "John", "Eric", "Alan" };
    2 //只排序前两个
    3 //[John, Liz, Eric, Alan]
    4 Arrays.sort(names, 0, 2);
    5 //全部排序
    6 //[Alan, Eric, John, Liz]
    7 Arrays.sort(names);
    

      另外,Arrays的sort方法也可以结合比较器,完成更加复杂的排序。

    1 public static <T> void sort(T[] a, Comparator<? super T> c) {
    2         if (LegacyMergeSort.userRequested)
    3             legacyMergeSort(a, c);
    4         else
    5             TimSort.sort(a, c);
    6     }
    

    3.4toString(int[] a)
              返回指定数组内容的字符串表示形式。

    String[] arg = {"a", "b", "c", "d"};
     // 结果 [a, b, c, d]
    System.out.print(Arrays.toString(arg));
     
    

      

  • 相关阅读:
    C#图解教程学习笔记——类和继承
    C#图解教程学习笔记——类相关的概念
    C#图解教程学习笔记——方法
    C#图解教程学习笔记——数据类型与数据存储
    模板方法模式
    命令模式
    访问者模式
    观察者模式
    策略模式
    单体【其他模式】
  • 原文地址:https://www.cnblogs.com/songhuiqiang/p/10631172.html
Copyright © 2011-2022 走看看