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——数组概述和特点、
- 下一篇: 计算机组成原理——总线结构