Posted on 2010-01-14 18:43
leekiang 閱讀(806)
評論(0) 編輯 收藏 所屬分類:
java 、
commons
1,List轉數組
??? List list = new ArrayList();
??? ??? list.add("1");
??? ??? list.add("2");
??? ??? int size = list.size();
??? ??? String[] arr = (String[]) list.toArray(new String[size]);
???? 必須帶參數new String[size],否則會報造型異常
2, 數組轉List
??? String[] arr = new String[] {"1", "2"};
??? List list = Arrays.asList(arr);
3,? Arrays.binarySearch(Object[] arr,Object key)
??? public static int binarySearch(int[]?a,int?key)使用二進制搜索算法來搜索指定的 int 型數組,以獲得指定的值。必須在進行此調用之前對數組進行排序(通過上面的 sort 方法)。如果沒有對數組進行排序,則結果是不明確的。如果數組包含多個帶有指定值的元素,則無法保證找到的是哪一個。
??? 也就是說必須先執行Arrays.sort,再執行Arrays.binarySearch
4, commons-lang的ArrayUtils
?? 1)ArrayUtils.contains()方法可以判定數組是否存在指完元素.比Arrays.binarySearch好用(見上文)
???? 當然有兩個比較實用的方法ArrayUtils.lastIndexOf()和ArrayUtils.indexOf()
?? 3)使用ArrayUtils.reverse(arr)方法可以反轉一個數組
?? 4)使用ArrayUtils.toObject(arr)和ArrayUtils.toPrimitive(arr)兩個方法,
???? 即可互相轉換基本類型數組和對象數組
?? 5)ArrayUtils.toString()方法可以輸入數組內容,此方法接受任意一個數組
???? 作為參數并輸出其內容,輸出時所有元素位于大括號,中間逗號隔開。
???? 如new String[] { "1","2","3","fd","3g"}會輸出為字符串"{1,2,3,fd,3g}"
?? 6)// 判斷數組是否為空(null和length=0的時候都為空)
????????ArrayUtils.isEmpty(new?int[0]);//?true
????????ArrayUtils.isEmpty(new?Object[]?{?null?});//?false
?? 7)// 合并兩個數組
????????ArrayUtils.addAll(new?int[]?{?1,?3,?5?},?new?int[]?{?2,?4?});//?{1,3,5,2,4}
?? 8)// 刪除數組中某個對象(從正序開始搜索,刪除第一個) 注意只刪除一個
????????ArrayUtils.removeElement(new?int[]?{?1,?3,?5?},?3);//?{1,5}