Java多维数组和Arrays类方法总结详解
一.数组的三种声明方式总结
publicclassWhatEver{ publicstaticvoidmain(String[]args){ //第一种例: String[]test1=newString[6]; test1[0]="数组0"; test1[1]="数组1"; //第二种例: String[]test2={"数组0","数组1","数组2","...."}; //第三种例: String[]test3=newString[]{"数组0","数组1","数组2","...."}; } }
二.多维数组的遍历/二维数组
/二维数组 publicclassTest1{ publicstaticvoidmain(String[]args){ int[]score1=newint[10]; int[][]score2; String[][]names; //二维数组的初始化 score2=newint[][]{{1,2,3},{3,4,5,6},{16,7}};//静态初始化 names=newString[6][5];//动态初始化方式一 names=newString[6][];//动态初始化方式二,一定要设置行数 names[0]=newString[5];//第一行中有5个元素 names[1]=newString[4]; names[2]=newString[7]; names[3]=newString[5]; names[4]=newString[8]; names[5]=newString[5]; System.out.println("第一行中的元素:"+names[1].length); System.out.println(names.length);//打印的是二维数组有几行 //如何遍历二维数组 for(intm=0;m三.Arrays类的常用方法总结
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。
3.1asList()方法
返回一个受指定数组支持的固定大小的列表。
此方法还提供了一个创建固定长度(不可修改的数组同singletonList)的列表的便捷方法,该列表被初始化为包含多个元素:
Liststooges=Arrays.asList("Larry","Moe","Curly");
@SafeVarargs publicstaticList asList(T...a){ returnnewArrayList<>(a); } 使用该方法可以返回一个固定大小的List,如
ListstringList=Arrays.asList("Welcome","To","Java", "World!"); List intList=Arrays.asList(1,2,3,4); 3.2copyOf()及copyOfRange方法
copyOf(int[]original,intnewLength)
复制指定的数组,截取或用0填充(如有必要),以使副本具有指定的长度。copyOfRange(int[]original,intfrom,intto)
将指定数组的指定范围复制到一个新数组。String[]names2={"Eric","John","Alan","Liz"}; //[Eric,John,Alan] String[]copy=Arrays.copyOf(names2,3); //[Alan,Liz] String[]rangeCopy=Arrays.copyOfRange(names2,2, names2.length);3.3sort()方法:对数组排序
String[]names={"Liz","John","Eric","Alan"}; //只排序前两个 //[John,Liz,Eric,Alan] Arrays.sort(names,0,2); //全部排序 //[Alan,Eric,John,Liz] Arrays.sort(names);另外,Arrays的sort方法也可以结合比较器,完成更加复杂的排序。
publicstaticvoidsort(T[]a,Comparatorc){ if(LegacyMergeSort.userRequested) legacyMergeSort(a,c); else TimSort.sort(a,c); } 返回指定数组内容的字符串表示形式。
String[]arg={"a","b","c","d"}; //结果[a,b,c,d] System.out.print(Arrays.toString(arg));以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。