import java.util.Arrays;
public class Arrays相关方法 {
public static void main(String[] args) {
new Sort().paiXu();
}
}
class Copy{//arrays中数组拷贝函数
public void copy(){
String[] s = {"aa","bb","cc","dd"};
String[] ss = new String[5];
System.arraycopy(s/*原数组*/,0/*从第几个元素开始拷贝*/,ss/*将拷贝赋值到该数组*/,
0/*从该数组的那个元素开始赋值*/,4/*拷贝多少个元素*/);
}
//应用:删除数组中某个元素;用for循环也可实现
void del(){
int[] x = {1,2,3,4,5};
System.arraycopy(x,3,x,2,2);//将第三个元素删除
x[x.length-1] = 0;
System.out.println(Arrays.toString(x));
}
//同理也可实现在数组中插入某一元素
}
class ToString{//数组的快捷输出
void shuChu(){
int[] x = {1,2,3,4,5};
//使用for循环只能将数组中的元素分别输出,而Arrays中的toString函数则可以将数组一次性输出
System.out.println(Arrays.toString(x));//这里的toString有别于object中的toString
}
}
class Sort{//数组排序
void paiXu(){
int[] x = {1,2,5,3,4};
Arrays.sort(x);
System.out.println(Arrays.toString(x));
}
}
class 二分法{//自带的二分法搜索板子
void erFen(){
int[] x = {1,2,323,23,543,12,59};
Arrays.sort(x); //使用二分法查找,必须先对数组进行排序;
System.out.println("该元素的索引:"
+Arrays.binarySearch(x, 12));//返回 排序后 新的索引位置,若未找到返回-1。
}
}
class 多元素赋值{//对一个数组中的多个元素重新赋一个新的值
void fuZhi(){
int[] x= {1,2,323,23,543,12,59};
Arrays.fill(x, 2, 4, 100); //将from 2 to 4 的元素定义为100
}
}