1.数组的定义声明
int[] array1 = { 1, 2, 3, 4 };
int[] array2 = new int[] { 1, 2, 3, 4 };
String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};
2.数组的长度
int[] intArray = { 1, 2, 3, 4, 5 };
int length = intArray.length;
3.数组的遍历
int[] array = new int[] { 1, 2, 3 };
for (int i = 0; i < array.length; i++) {//传统方式
System.out.println("array[" + i + "] = " + array[i]);
}
for (int i : array) {//增强for循环
System.out.println(i);
}
4.数组从array到arraylist
//数组到list
String[] array = { "a", "b", "c", "d", "e" };
List<String> list = new ArrayList<String>(Arrays.asList(array));
//list到数组
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
String[] array = new String[list.size()];
list.toArray(array);
5.数组的反转
//数组的反转有两种形式
//1.用到集合个工具类Collections.reverse(ArrayList) 将数组进行反转:
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
arrayList.add("D");
arrayList.add("E");
System.out.println("反转前排序: " + arrayList);
Collections.reverse(arrayList);
System.out.println("反转后排序: " + arrayList);
}
}
//2.用到集合ArrayList
/*
*动态数组(ArrayList)代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组*不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列*表中进行动态内存分配、增加、搜索、排序各项。
*/
public virtual void Reverse();
//3.直接使用数组实现反转
import java.util.ArrayList;
public class JavaTest2 {
public static void main(String[] args) {
String[] Array = { "a", "b", "c", "d", "e" };
reverseArray1(Array);// 使用集合ArrayList实现反转
for (int j = 0; j < Array.length; j++) {
System.out.print(Array[j] + " ");
}
System.out.print("\n");
String[] temp = reverseArray2(Array);// 直接使用数组实现反转
for (int j = 0; j < temp.length; j++) {
System.out.print(Array[j] + " ");
}
}
/*
* 函数:reverseArray1和reverseArray2
* 功能:实现 数组翻转
* 例如:{'a','b','c','d'}变成{'d','c','b','a'}
*/
private static void reverseArray1(String[] Array) {
ArrayList<String> array_list = new ArrayList<String>();
for (int i = 0; i < Array.length; i++) {
array_list.add(Array[Array.length - i - 1]);
}
Array = array_list.toArray(Array);
}
private static String[] reverseArray2(String[] Array) {
String[] new_array = new String[Array.length];
for (int i = 0; i < Array.length; i++) {
// 反转后数组的第一个元素等于源数组的最后一个元素:
new_array[i] = Array[Array.length - i - 1];
}
return new_array;
}
}
6.数组的合并
int[] array1 = { 1, 2, 3, 4, 5 };
int[] array2 = { 6, 7, 8, 9, 10 };
int[] array = org.apache.commons.lang.ArrayUtils.addAll(array1, array2);