java---數組去重

面試中被問到:若是一個數組中有重複元素,用什麼方法能夠去重?想了想貌似方法還很多,如今就總結一下。

1. 用List集合實現

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]

2. 用Set集合實現

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

相關文章
相關標籤/搜索