数组的复制,反转,查找,排序以及Arrays工具类
1.数组的复制
注:是数组的复制,而不是新的数据引用旧的数组的地址值,这样修改新的数组,旧的数组会改变,这叫数组的赋值
public class Test03 {
public static void main(String[] args) {
int[] oldArrays = new int[]{1,2,3,4,5,6}; //旧数组
int[] newArrays = new int[oldArrays.length]; //新建一个长度等于旧数组的新数组
for (int i=0;i
newArrays[i] = oldArrays[i]; //将旧数组的元素赋值给新数组对应的元素
}
for (int num: //循环打印输出新数组的元素
newArrays) {
System.out.println(num);
}
}
}
2.数组的反转
public class Test03 {
public static void main(String[] args) {
int[] array = new int[]{1,3,5,7,9};
for (int i=0;i
int temp = array[i];
array[i] = array[array.length-i-1];
array[array.length-i-1] = temp;
}
for (int num:
array) {
System.out.println(num);
}
}
}
3.数组的查找
1)线性查找
public class Test03 {
public static void main(String[] args) {
int[] array = new int[]{1,3,5,7,9};
int dest = 4;
boolean flag = false;
for (int i=0;i
if (array[i] == dest){
System.out.println("找到元素"+array[i]+"它在数组中下标为"+i);
flag = true;
}
}
if (flag == false){
System.out.println("对不起你要查找的元素在数组中不存在");
}
}
}
2)二分法查找
注:前提是数组中的元素已经是有序的
public class Test03 {
public static void main(String[] args) {
int[] array = new int[]{1,3,5,7,9};
int dest = 5;
boolean flag = false;
int head = 0; //头部下标索引
int end = array.length-1;//尾部下标索引
int middle = (head + end)/2;
while (head <= end){
if (dest > array[middle]){
head = middle + 1;
middle = (head + end)/2;
}else if (dest < array[middle]){
end = middle -1;
middle = (head + end)/2;
}else{
System.out.println("找到元素为"+array[middle]+"所在下标为"+middle);
flag = true;
break;
}
}
if (flag == false){
System.out.println("对不起没有找到该元素");
}
}
}
4.数组排序
冒泡排序
public class Test04 {
public static void main(String[] args) {
int[] array = new int[]{-1,7,8,5,11,20,9,21};
for (int i=0;i
for (int j=0;j
if (array[j] > array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
for (int num:
array) {
System.out.println(num);
}
}
}
5.Arrays工具类
1)equals(int[] a, int[] b):判断两个数组是否相等
2)toString(int[] a):返回一个指定数组的字符串表现形式
3)fill(int[] a, int value)方法:将指定数组的每个元素替换成指定的值
4)sort(int[] a):按升序对指定数组进行排序
5)binarySearch(int[] a, int value):使用二分搜索算法在指定的数组中搜索指定的值,并返回该值所在索引位置;若查询不到,则返回-1
2020-12-2来自湫梨花颂歌的学习和回顾记录
如有错误请指出!!!!