填充替换的数组元素

12年前

数组的操作
填充数据的元素
数组中的元素定义完成后,可通过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要搜索的元素