温馨提示×

Java set去重的方法有哪些

小樊
171
2024-11-27 16:26:19
栏目: 编程语言

在Java中,Set是一个不允许重复元素的集合。以下是几种常见的去重方法:

  1. 使用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("B"); set.add("A"); // 重复元素,不会被添加到集合中 System.out.println(set); // 输出:[B, A] } } 
  1. 使用LinkedHashSet:
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("B"); set.add("A"); // 重复元素,不会被添加到集合中 System.out.println(set); // 输出:[A, B] } } 
  1. 使用TreeSet:
import java.util.TreeSet; import java.util.Set; public class Main { public static void main(String[] args) { Set<String> set = new TreeSet<>(); set.add("A"); set.add("B"); set.add("A"); // 重复元素,不会被添加到集合中 System.out.println(set); // 输出:[A, B] } } 
  1. 使用自定义类实现Set接口:
import java.util.Objects; import java.util.Set; public class Main { public static void main(String[] args) { Set<MyObject> set = new MySet<>(); set.add(new MyObject("A")); set.add(new MyObject("B")); set.add(new MyObject("A")); // 重复对象,不会被添加到集合中 System.out.println(set); // 输出:[MyObject{value='A'}, MyObject{value='B'}] } } class MyObject { private String value; public MyObject(String value) { this.value = value; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; MyObject myObject = (MyObject) o; return Objects.equals(value, myObject.value); } @Override public int hashCode() { return Objects.hash(value); } } class MySet<T> implements Set<T> { // 实现Set接口的方法,如add、remove、contains等 } 

这些方法都可以实现Java Set的去重功能,具体使用哪种方法取决于你的需求。

0