最近在寫代碼的過程中發(fā)現(xiàn)我們很多地方都會處理數(shù)組尘喝,有時只是模糊的記得有API可以調(diào)用,每次都查文檔很是費事兒置吓,適當?shù)目偨Y(jié)希望提高開發(fā)速度
這篇先介紹數(shù)組相關的操作缔赠,之后會介紹另外兩個我認為同樣常用的操作集合和字符串相關的操作
一、申明數(shù)組
數(shù)組的申明十分簡單也十分的基礎,注意第三種申明方式戴质,[ ]里面是不帶數(shù)字的
String[] Array1 = new String[5];
String[] Array2 = {"a","b","c", "d", "e"};
String[] Array3 = new String[]{"a","b","c","d","e"};
二踢匣、打印數(shù)組
直接打印數(shù)組鏈表我們會打印出對象的hash值,我們可以先調(diào)用Arrays.toString()
方法后专,再打印數(shù)組消息
int[] intArray = { 1, 2, 3, 4, 5 };
String intArrayString = Arrays.toString(intArray);
// 直接打印,則會打印出引用對象的Hash值
// [I@7150bd4d
System.out.println(intArray);
// [1, 2, 3, 4, 5]
System.out.println(intArrayString);
三输莺、數(shù)組轉(zhuǎn)換為集合
此方法同Collection.toArray()
一起嫂用,充當了基于數(shù)組的 API 與基于 collection 的 API 之間的橋梁。Arrays.asList(T...a)
返回List<T>
類型數(shù)據(jù)嘱函,同時可以將該集合當參數(shù)傳入實例化具體的集合
String[] stringArray = { "a", "b", "c", "d", "e" };
//轉(zhuǎn)換為ArrayList<String>
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);//輸出[a, b, c, d, e]
//轉(zhuǎn)換為HashSet<String>
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
System.out.println(set);//輸出[d, e, b, c, a]
四往弓、ArrayList轉(zhuǎn)換為數(shù)組
這里用的集合自帶的Collection.toArray()
方法
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
String[] stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);
for (String s : stringArr)
System.out.println(s);
下面提供的一些功能是org.apache.commons.lang
包提供的
五亮航、合并兩個數(shù)組
當然也可以用根據(jù)Array和Array2的length和來構(gòu)建新的數(shù)組,再為新的數(shù)組賦值
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
// Apache Commons Lang 庫
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
六准给、數(shù)組的反轉(zhuǎn)
不用包的話就倒序遍歷數(shù)組為新數(shù)組賦值就行了
int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
//[5, 4, 3, 2, 1]
System.out.println(Arrays.toString(intArray));
七、移除元素
這個功能自己單獨實現(xiàn)也不難祖灰,只是移動數(shù)據(jù)總是麻煩的
int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//創(chuàng)建新的數(shù)組
System.out.println(Arrays.toString(removed));