欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java的知识点17——java.util.Arrays类、多维数组

发布时间:2025/4/16 编程问答 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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类、多维数组的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。