一、Java 7增强的switch语句
控制表达式类型
byte
short
char
int
java.lang.String
二、数组初始化
- 静态初始化:显式指定数组元素,数组长度由系统识别
int[] arr = new int[]{0,1,2,3};
- 动态初始化:显式指定数组长度,元素初始值由系统分配
int[] arr = new int[4];
三、数组工具类Arrays
static int Arrays.binarySearch(T[] array, T key);
/*
找到值返回索引,否则返回负数
数组必须已经排好序
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
int index = Arrays.binarySearch(arr, 15);//index为7
static int Arrays.binarySearch(T[] array, int from, int to, T key);
/*
类似上一个方法,只是在特定区间搜索
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
int index = Arrays.binarySearch(arr, 4, 8, 15);//index为7
static T[] Arrays.copyOf(T[] old, int length);
/*
如果length<old_arr.length,则复制前length个元素
如果length>old_arr.length,除了负责全部元素之外,补充0(数值类型)、false(boolean)、null(引用类型)
*/
int[] old_arr = new int[]{1,3,5,7,9,11,13,15,17};
//int[] new_arr = Arrays.copyOf(old_arr, old_arr.length);//[1, 3, 5, 7, 9, 11, 13, 15, 17]
//int[] new_arr = Arrays.copyOf(old_arr, old_arr.length - 1);//[1, 3, 5, 7, 9, 11, 13, 15]
int[] new_arr = Arrays.copyOf(old_arr, old_arr.length + 1);//[1, 3, 5, 7, 9, 11, 13, 15, 17, 0]
static T[] Arrays.copyOfRange(T[] old, int from, int to);
/*
复制特定区间的元素
*/
int[] old_arr = new int[]{1,3,5,7,9,11,13,15,17};
int[] new_arr = Arrays.copyOfRange(old_arr, 2, 6);//[5, 7, 9, 11]
static boolean Arrays.equals(T[] left, T[] right);
/*
长度相等,且元素一一相同,返回true
*/
int[] l_arr = new int[]{1,3,5,7,9,11,13,15,17};
int[] r_arr = new int[]{1,3,5,7,9,11,13,15,17};
boolean result = Arrays.equals(l_arr, r_arr);//true
static void Arrays.fill(T[] arr, T value);
/*
以特定值填充数组
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
Arrays.fill(arr, 99);//[99, 99, 99, 99, 99, 99, 99, 99, 99]
static void Arrays.fill(T[] arr, int from, int to, T value);
/*
以特定值填充数组特定区间
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
Arrays.fill(arr, 2, 6, 99);//[1, 3, 99, 99, 99, 99, 13, 15, 17]
static void Arrays.sort(T[] arr);
/*
对数组进行升序排序
*/
int[] arr = new int[]{11,4,5,0,1,34,9,2,22};
Arrays.sort(arr);//[0, 1, 2, 4, 5, 9, 11, 22, 34]
static void Arrays.sort(T[] arr, int from, int to);
/*
对数组特定区间进行升序排序
*/
int[] arr = new int[]{11,4,5,0,1,34,9,2,22};
Arrays.sort(arr, 2, 6);//[11, 4, 0, 1, 5, 34, 9, 2, 22]
static String toString(T[] arr);
/*
*
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
String arr_to_string = Arrays.toString(arr);//"[1, 3, 5, 7, 9, 11, 13, 15, 17]"