java.util.Arrays類
阿新 • • 發佈:2021-09-20
JDK提供的java.util.Arrays類,包含了常用的陣列操作,方便我們日常開發。Arrays類包含了:排序、查詢、填充、列印內容等常見的操作。
【示例7-10】列印陣列
1 2 3 4 5 6 7 8 |
import java.util.Arrays;
public class Test{
public static void main(Stringargs[]){
int []a={ 1 , 2 };
System.out.println(a); //列印陣列引用的值;
System.out.println(Arrays.toString(a)); //列印陣列元素的值;
}
}
|
執行結果如圖7-6所示:
圖7-6 示例7-10執行效果圖
菜鳥雷區
此處的Arrays.toString()方法是Arrays類的靜態方法,不是前面講的Object的toString()方法。
【示例7-11】陣列元素的排序
1 2 3 4 5 6 7 8 9 |
import java.util.Arrays;
public class Test{
public static void main(Stringargs[]){
int []a={ 1 , 2 , 323 , 23 , 543 , 12 , 59 };
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
}
|
執行結果如圖7-7所示:
圖7-7 示例7-11執行效果圖
【示例7-12】陣列元素是引用型別的排序(Comparable介面的應用)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import java.util.Arrays;
public class Test{
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));
}
}
class Man implements Comparable{
int age;
int id;
Stringname;
public Man( int age,Stringname){
super ();
this .age=age;
this .name=name;
}
public StringtoString(){
return this .name;
}
public int compareTo(Objecto){
Manman=(Man)o;
if ( this .age<man.age){
return - 1 ;
}
if ( this .age>man.age){
return 1 ;
}
return 0 ;
}
}
|
【示例7-13】二分法查詢
1 2 3 4 5 6 7 8 9 10 11 |
import java.util.Arrays;
public class Test{
public static void main(String[]args){
int []a={ 1 , 2 , 323 , 23 , 543 , 12 , 59 };
System.out.println(Arrays.toString(a));
Arrays.sort(a); //使用二分法查詢,必須先對陣列進行排序;
System.out.println(Arrays.toString(a));
//返回排序後新的索引位置,若未找到返回負數。
System.out.println( "該元素的索引:" +Arrays.binarySearch(a, 12 ));
}
}
|
執行結果如圖7-8所示:
圖7-8 示例7-13執行效果圖
【示例7-14】陣列填充
1 2 3 4 5 6 7 8 9 |
import java.util.Arrays;
public class Test{
public static void main(String[]args){
int []a={ 1 , 2 , 323 , 23 , 543 , 12 , 59 };
System.out.println(Arrays.toString(a));
Arrays.fill(a, 2 , 4 , 100 ); //將2到4索引的元素替換為100;
System.out.println(Arrays.toString(a));
}
}
|
執行結果如圖7-9所示:
圖7-9 示例7-14執行效果圖