91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
尚志市| 蓬溪县| 南汇区| 湟源县| 丰镇市| 图木舒克市| 子长县| 栾川县| 嫩江县| 福泉市| 临海市| 会东县| 吉林市| 百色市| 罗城| 齐齐哈尔市| 墨脱县| 东乌珠穆沁旗| 积石山| 长宁区| 丰都县| 伊通| 博野县| 黄山市| 沛县| 唐海县| 满城县| 盘锦市| 博乐市| 宜君县| 海阳市| 定襄县| 普格县| 崇礼县| 沁阳市| 馆陶县| 璧山县| 观塘区| 岳西县| 张家界市| 高淳县|