面試中被問到:若是一個數組中有重複元素,用什麼方法能夠去重?想了想貌似方法還很多,如今就總結一下。
public static void main(String[] args) { int[] intArr2 = {2,4,5,6,1,1,2,6,7}; List<Integer> list = new ArrayList<>(); for (int i : intArr) { if(!list.contains(i)) { list.add(i); } } System.out.println(list.toString()); } //輸出結果 [2, 4, 5, 6, 1, 7]
public static void main(String[] args) { Integer[] intArr = {2,4,5,6,1,1,2,6,7}; int[] intArr2 = {2,4,5,6,1,1,2,6,7}; // 數組類型爲包裝類類型 Set<Integer> set = new TreeSet<>(Arrays.asList(intArr)); for (int i : intArr) { set.add(i); } System.out.println(set.toString()); // 數組類型爲基本數據類型 Set<Integer> set2 = new TreeSet<>(); for (int i : intArr2) { set2.add(i); } System.out.println(set2.toString()); } //輸出結果 [1, 2, 4, 5, 6, 7] [1, 2, 4, 5, 6, 7]
能夠看到set不進去除了重複數據,並且還將數據進行了排序。而這一切都是treeset
的功勞。java