陣列的三種宣告方式總結、多維陣列的遍歷、Arrays類的常用方法總結

泰斗賢若如發表於2019-03-29

1. 陣列的三種宣告方式

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","...."};



    }
}

 

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();
        }


    }

}

 

 

 

 3.Arrays類的常用方法總結

 

3.1  asList()方法

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方法 

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.4  toString()方法

Arrays的toString方法可以方便我們列印出陣列內容。 
如: 

String[] names = { "Liz", "John", "Eric", "Alan" };
  Arrays.sort(names);
  System.out.println(Arrays.toString(names));

  

控制檯將列印出 [Alan, Eric, John, Liz] 

 

相關文章