填充替換的數組元素
數組的操作
填充數據的元素
數組中的元素定義完成后,可通過Array類的靜態方法fill()來對數組中的元素進行替換。
舉例以int型數組為例
fill(int []a,int value);
fill(int []a,int fromindex,int toindex,int value)
其中a為要進行填充的數組
value要存儲數組中的元素的值
fromindex要使用指定值填充的第一個元素的索引(包括)
toindex要使用指定值填充的最后一個元素的索引(不包括)
import java.util.Arrays;
public class Dispance{
public static void main(String [] args){
int arr[]=new int[]{45,12,2,25};
Array.fill(arr,1,2,8);
for (int i=0;i<arr.length;i++){
System.out.println("第"+i+"個元素的值是"+arr[i]);
}
}
}
對數組進行排序
通過Arrays類的靜態sort()方法可實現對數組的排序。sort()方法可進行升序排序。
Arrays.sort(object)其中object是指要進行排序的數組的名稱
java中的String類型數組的排序算法是根據字典編排順序排序的因此數字排在字母前面,大寫字母在小寫字母前面
import java.util.Arrays;
public class taxi{
public static void main(String []args){
int arr[]={3,5,8,6,2,1,5};
Arrays.sort(arr);
for (int i=0;i<arr.length;i++){
System.out.println("第"+i+"個元素的值是"+arr[i]);
}
}
}
復制數組
Arrays類的copyOf()方法與copyOfRange()方法可實現對數組的復制。copyOf()方法是復制數組至指定長度,
copyOfRange()方法則是將指定數組的指定長度復制到一個新數組中。
copyOf(arr,int newlength)
arr是要進行復制的數組,newlength復制后新數組的長度。如果新數組長度大于數組arr長度,則根據類型填充。
INT用0,char用null填充,
如
import java.util.Arrays;
public class taxi{
public static void main(String []args){
int arr[]={3,5,8,6,2,1,5};
int newarr[]=Array.copyOf(arr,8)
for (int i=0;i<newarr.length;i++){
System.out.println("第"+i+"個元素的值是"+newarr[i]);
}
}
}
copyOfRange()方法
copyOfRange(arr,int formindex,int toindex)
arr要進行復制的數組對象
fromindex指定開始復制數組的索引位置。fromindex必須在0-數組長度之間。
toindex要復制范圍的最后索引位置。可大于數組arr長度,新數組不包含索引是toindex的元素
int newarr[]=Arrays.copyOfRange(arr,0,3)
數組查詢
Arrays類的binarySearch()方法,可使用二分搜索法來搜索指定數組,以獲得指定對象。該方法返回要搜索元素的索引值
binarySearch(Object[] a.Object key)
a要搜索的數組
key要搜索的值
如以下例子
int arr[] = new int[]{4,25,10,8};
Arrays.sort(arr); //必須要進行排序,如果不排序后面的指令執行結果不準確
int index=Arrays.binarySearch(arr,0,1,8);
binarySearch(Object[].,int fromIndex, int toIndex,Object key)
binarySearch(Object[].a,int fromIndex,Int toIndex,Object key)
a要進行檢索的數組
fromIndex:指定范圍的開始處索引(包括)
toIndex:指定范圍的結束處索引
key要搜索的元素