亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Java set去重如何處理null值

小樊
81
2024-11-27 15:10:17
欄目: 編程語言

在Java中,使用Set集合去重時,如果需要處理null值,可以使用以下方法:

  1. 使用HashSet:

HashSet集合會自動過濾掉重復元素,包括null值。因此,只需將集合轉換為HashSet即可實現去重。

import java.util.HashSet;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("A");
        set.add(null);
        set.add("B");
        set.add(null);
        set.add("A");

        System.out.println("Set without duplicates: " + set);
    }
}

輸出結果:

Set without duplicates: [A, null, B]
  1. 使用LinkedHashSet:

LinkedHashSet會保留元素的插入順序,同時也會過濾掉重復元素,包括null值。

import java.util.LinkedHashSet;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Set<String> set = new LinkedHashSet<>();
        set.add("A");
        set.add(null);
        set.add("B");
        set.add(null);
        set.add("A");

        System.out.println("Set without duplicates: " + set);
    }
}

輸出結果:

Set without duplicates: [A, null, B]
  1. 使用自定義類并實現equals()hashCode()方法:

如果需要根據自定義類的屬性進行去重,可以在自定義類中實現equals()hashCode()方法。這樣,Set集合會根據這兩個方法的返回值來判斷元素是否重復。在這種情況下,需要注意處理null值。

import java.util.Objects;
import java.util.Set;
import java.util.LinkedHashSet;

class MyClass {
    private String property;

    public MyClass(String property) {
        this.property = property;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        MyClass myClass = (MyClass) o;
        return Objects.equals(property, myClass.property);
    }

    @Override
    public int hashCode() {
        return Objects.hash(property);
    }
}

public class Main {
    public static void main(String[] args) {
        Set<MyClass> set = new LinkedHashSet<>();
        set.add(new MyClass("A"));
        set.add(null);
        set.add(new MyClass("B"));
        set.add(null);
        set.add(new MyClass("A"));

        System.out.println("Set without duplicates: " + set);
    }
}

輸出結果:

Set without duplicates: [MyClass{property='A'}, null, MyClass{property='B'}]

這樣,Set集合就可以根據自定義類的屬性進行去重,同時處理null值。

0
获嘉县| 广昌县| 桐城市| 长治县| 博乐市| 贡觉县| 南平市| 民丰县| 繁峙县| 东至县| 五家渠市| 丰台区| 东台市| 隆化县| 雅江县| 迁西县| 海伦市| 上高县| 修水县| 阆中市| 龙州县| 廉江市| 乐平市| 葫芦岛市| 赤壁市| 漯河市| 邯郸市| 遵义市| 项城市| 灵石县| 大英县| 乌海市| 邻水| 新津县| 乐亭县| 中牟县| 石柱| 北流市| 大港区| 上犹县| 宾阳县|