java的知识点17——java.util.Arrays类、多维数组
生活随笔
收集整理的這篇文章主要介紹了
java的知识点17——java.util.Arrays类、多维数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java.util.Arrays類
Arrays類包含了:排序、查找、填充、打印內容等常見的操作。
打印數組
package cn.dym08; import java.util.Arrays;public class Test01 {public static void main(String [] args) {int []a= {1,2};System.out.println(a); //打印數組引用的值System.out.println(Arrays.toString(a)); //打印數組元素的值} }此處的Arrays.toString()方法是Arrays類的靜態方法,不是前面講的Object的toString()方法。
數組元素的排序
package cn.dym08; import java.util.Arrays; public class Test02 {public static void main(String[] args) {int []a= {1,2,323,23,541,287,9,42};System.out.println(Arrays.toString(a));Arrays.sort(a);System.out.println(Arrays.toString(a));} }數組元素是引用類型的排序(Comparable接口的應用)
package cn.dym08; import java.util.Arrays; class Man implements Comparable{int age;int id;String name;public Man(int age, String name) {super();this.age = age;this.name = name;}public String toString() {return this.name;}public int compareTo(Object o) {Man man=(Man)o;if(this.age<man.age) {return -1;}if(this.age>man.age) {return 1;}return 0;} } public class Test03 {public static void main(String []args) {Man[] msMans= {new Man(3,"a"),new Man(60,"b"),new Man(2,"c")};Arrays.sort(msMans);System.out.println(Arrays.toString(msMans));} }?
二分法查找
package cn.dym08; import java.util.Arrays; public class Test04 {public static void main(String[] args) {int []a= {1,2,354,154,1145,54,78,45};System.out.println(Arrays.toString(a));Arrays.sort(a); //使用二分法查找,必須先對數組進行排序System.out.println(Arrays.toString(a));//Arrays.binarySearch(a, 12),返回排序后新的索引位置,若未找到則返回負數System.out.println("該元素的索引:"+Arrays.binarySearch(a, 12));System.out.println("該元素的索引:"+Arrays.binarySearch(a, 45));} }數組填充
package cn.dym08;import java.util.Arrays;public class Test05 {public static void main(String[] args) {int [] a= {1,45,48,98,487,145,2};System.out.println(Arrays.toString(a));Arrays.fill(a, 2,4,100); //將2到4索引對的元素的值替換為100//只取開始,不取結束System.out.println(Arrays.toString(a));} }?
多維數組
? ? ? 多維數組可以看成以數組為元素的數組。可以有二維、三維、甚至更多維數組,但是實際開發中用的非常少。最多到二維數組(一般使用容器,二維數組用的很少)
二維數組的聲明
package cn.dym08;public class Test06 {public static void main(String[] args) {//Java中多維數組的聲明和初始化應從低維到高維的順序進行int [][] a=new int[3][];a[0]=new int[2];a[1]=new int[4];a[2]=new int[3];//int a1[][]=new int[][4] //非法} }二維數組的靜態初始化
package cn.dym08;public class Test07 {public static void main(String[] args) {int [][]a= {{1,2,3},{3,4},{3,5,6,8}};System.out.println(a[2][3]);} }二維數組的動態初始化
package cn.dym08; import java.util.Arrays; public class Test08 {public static void main(String [] args) {int [][] a=new int[3][];//a[0]={1,2,5}; //錯誤,沒有聲明就初始化a[0]=new int[] {1,2};a[1]=new int[] {2,2};a[2]=new int[] {2,3,5,4};System.out.println(a[2][3]); //結果為:4System.out.println(Arrays.toString(a[0]));System.out.println(Arrays.toString(a[1]));System.out.println(Arrays.toString(a[2]));} }?
獲取數組長度? 屬性 length
package cn.dym08; import java.util.Arrays; public class Test08 {public static void main(String [] args) {int [][] a=new int[3][];//a[0]={1,2,5}; //錯誤,沒有聲明就初始化a[0]=new int[] {1,2};a[1]=new int[] {2,2};a[2]=new int[] {2,3,5,4};//System.out.println(a[2][3]); //結果為:4//System.out.println(Arrays.toString(a[0]));//System.out.println(Arrays.toString(a[1]));//System.out.println(Arrays.toString(a[2]));System.out.println(a.length);System.out.println(a[0].length);} }總結
以上是生活随笔為你收集整理的java的知识点17——java.util.Arrays类、多维数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java的知识点16——数组概述和特点、
- 下一篇: Java的知识点18——数组存储表格数据