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
publicstaticListasList(T...a){
returnnewArrayList<>(a);
}
使用该方法可以返回一个固定大小的List,如
ListstringList=Arrays.asList("Welcome","To","Java",
"World!");
ListintList=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));
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。