一、數組
1、使用Arrays.sort(int[] a)進行排序
底層採用的是快速排序算法實現的:時間複雜度爲O(nlogn),空間複雜度O(logn),不穩定。默認是從小到大排序。
1 int[] arr = new int[]{2, 9, 6, 8, 4, 3}; 2 Arrays.sort(arr); 3 System.out.println(Arrays.toString(arr));
打印結果:
[2, 3, 4, 6, 8, 9]
參數可以是其它基本數據類型,也可以是自定義類型,可以通過使用Comparator比較器來自定義排序順序。
例如,降序排列:
1 Integer[] arr = new Integer[]{2, 9, 6, 8, 4, 3}; 2 Arrays.sort(arr, new Comparator<Integer>() { 3 @Override 4 public int compare(Integer t0, Integer t1) { 5 return t1 - t0; 6 } 7 }); 8 System.out.println(Arrays.toString(arr));
打印結果:
[9, 8, 6, 4, 3, 2]
2、使用Arrays.toString(int[] arr)將數組組合成字符串
內部是通過StringBuilder + for 循環來實現的,該方法可以方便調試查看數組的值,而無需自己手動來組裝字符串。
1 int[] arr = new int[]{2, 9, 6, 8, 4, 3}; 2 System.out.println(Arrays.toString(arr));
打印結果:
[2, 9, 6, 8, 4, 3]
同樣,該方法的參數數組類型可以是其它數據類型。
二、ArrayList
1、使用構造函數或者addAll將一個集合中的內容添加到新的ArrayList中
1 //構造函數 2 public ArrayList(Collection<? extends E> c) 3 //addAll方法 4 public boolean addAll(Collection<? extends E> c)
內部實現原理:ArrayList內部維護了一個數組,無論是使用構造函數還是addAll方法,都是將給定集合中的元素複製到該數組中。
1 List<Integer> list = new ArrayList<>(); 2 list.add(1); 3 list.add(2); 4 list.add(3); 5 List<Integer> newList1 = new ArrayList<>(list); 6 System.out.println(newList1); 7 List<Integer> newList2 = new ArrayList<Integer>(); 8 newList2.addAll(list); 9 System.out.println(newList2);
打印結果:
[1, 2, 3]
[1, 2, 3]
2、ArrayList與數組互相轉化
(1)使用list.toArray()將ArrayList轉爲數組
1 List<Integer> list = new ArrayList<>(); 2 list.add(1); 3 list.add(2); 4 list.add(3); 5 Object[] a = list.toArray(); 6 System.out.println(Arrays.toString(a));
打印結果:
[1, 2, 3]
(2)使用Arrays.asList(數組) 將數組轉爲ArrayList
1 Integer[] arr = new Integer[]{2, 9, 6, 8, 4, 3}; 2 List<Integer> arrList = Arrays.asList(arr); 3 System.out.println("size=" + arrList.size() + ";arrList=" + arrList);
打印結果:
size=6;arrList=[2, 9, 6, 8, 4, 3]
3、使用Collections.reverse(list) 倒轉ArrayList中的元素
1 List<Integer> list = new ArrayList<>(); 2 list.add(1); 3 list.add(2); 4 list.add(3); 5 Collections.reverse(list); 6 System.out.println(list);
打印結果:
[3, 2, 1]
、字符串
1、按照多個空格,對字符串進行分割:split(“\\s+”)或者split(" +")
例如:
1 String s = "leetcode is very good!"; 2 String[] arr = s.split("\\s+"); //或者s.split(" +"); 3 System.out.println(Arrays.toString(arr));
打印結果:
[leetcode, is, very, good!]
2、去掉字符串首尾空字符串:trim()
1 String s = " ab cd "; 2 Sytem.out.println(s.trim());
打印結果:
ab cd
3、拼接字符串:join()
1 String[] strArray = {"ab","cd","ef"}; 2 System.out.println(String.join(" ",strArray));
打印結果:
ab cd ef
這裏將數組組合成字符串,用“ ”連接。join的第一個參數可以替換其它的連接符號,第二個參數除了使用數組外,還可以使用LIst,Deque等集合對象
s