1.数组的创建与元素赋值:

Java gson 处理数组 java数组公式_java

2.针对于数值型的数组:

Java gson 处理数组 java数组公式_Java gson 处理数组_02

3.数组的赋值与复制

3.1 赋值

int[] array1,array2;
array1 = new int[]{1,2,3,4};
array2 = array1;

如何理解:

相当于将一个exe发送桌面快捷方式,改变array1或array2都会改变里面的内容,即array1变array2也变,反之也是。

Java gson 处理数组 java数组公式_i++_03


Java gson 处理数组 java数组公式_Java gson 处理数组_04

3.2 复制

String[] arr = new String[]{"JJ","DD","MM","BB","GG","AA"};
//数组的复制(区别于数组变量的赋值:arr1 = arr)
String[] arr1 = new String[arr.length];
for(int i = 0;i < arr1.length;i++){
arr1[i] = arr[i];
}

如何理解:

改变其中一个对另一个没有什么影响

Java gson 处理数组 java数组公式_数组_05


Java gson 处理数组 java数组公式_java_06

4.数组元素的反转

//数组的反转
		//方法一:
//		for(int i = 0;i < arr.length / 2;i++){
//			String temp = arr[i];
//			arr[i] = arr[arr.length - i -1];
//			arr[arr.length - i -1] = temp;
//		}
		
		//方法二:
//		for(int i = 0,j = arr.length - 1;i < j;i++,j--){
//			String temp = arr[i];
//			arr[i] = arr[j];
//			arr[j] = temp;
//		}

5.数组中指定元素的查找

5.1 线性查找:

String[]arr = new String[]{"AA","BB"};
String dest = "BB";
dest = "CC";	
boolean isFlag = true;		
for(int i = 0;i < arr.length;i++){			
	if(dest.equals(arr[i])){
		System.out.println("找到了指定的元素,位置为:" + i);
		isFlag = false;
		break;
	}		
}
if(isFlag){
	System.out.println("很遗憾,没有找到的啦!");			
}

实现思路:
一个一个比较查找
适用性:
具有普遍适用性

5.2 二分法查找:

int[] arr2 = new int[]{-98,-34,2,34,54,66,79,105,210,333};	
int dest1 = -34;
dest1 = 35;
int head = 0;//初始的首索引
int end = arr2.length - 1;//初始的末索引
boolean isFlag1 = true;
while(head <= end){		
	int middle = (head + end)/2;		
	if(dest1 == arr2[middle]){
		System.out.println("找到了指定的元素,位置为:" + middle);
		isFlag1 = false;
		break;
	}else if(arr2[middle] > dest1){
				end = middle - 1;
	}else{//arr2[middle] < dest1
			head = middle + 1;
	}			
}

实现思路:
二分之一法
适用性:
所要查找的数组必须有序。

6.数组的排序算法

Java gson 处理数组 java数组公式_i++_07

理解:
1)衡量排序算法的优劣:
1.时间复杂度:分析关键字的比较次数和记录的移动次数
2.空间复杂度:分析排序算法中需要多少辅助内存
3.稳定性:若两个记录A和B的关键字值相等,但排序后A、B的先后次序保 持不变,则称这种排序算法是稳定的
2)排序的分类:内部排序 与 外部排序
内部排序:整个排序过程不需要借助于外部存储器(如磁盘等),所有排序操作都在内存中完成。
外部排序:参与排序的数据非常多,数据量非常大,计算机无法把整个排序过程放在内存中完成,必须借助于外部存储器(如磁盘)。外部排序最常见的是多路归并排序。可以认为外部排序是由多次内部排序组成。

3)不同排序算法的时间复杂度

Java gson 处理数组 java数组公式_i++_08

冒泡排序的实现:–需要能手写出来

import java.util.Arrays;

public class TestBubbleSort{
public static void main(String[] args){
		int[]arr = new int[]{0,98,-23,78,99,-23,-45,98,24};

		for(int i = 0;i < arr.length - 1;i++){

			for(int j = 0;j < arr.length - 1 -i;j++){

				if(arr[j] > arr[j + 1]){
					int temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}
			}
		}

		System.out.println(Arrays.toString(arr));
}
}