当前位置:首页 > Java

java如何使用set

2026-03-22 18:50:29Java

使用 Set 的基本方法

在 Java 中,Set 是一个不包含重复元素的集合接口,常见的实现类有 HashSetLinkedHashSetTreeSet。以下是 Set 的基本使用方法。

创建 Set 对象

Set<String> hashSet = new HashSet<>();
Set<String> linkedHashSet = new LinkedHashSet<>();
Set<String> treeSet = new TreeSet<>();

添加元素

hashSet.add("Apple");
hashSet.add("Banana");
hashSet.add("Orange");

检查元素是否存在

boolean containsApple = hashSet.contains("Apple");

删除元素

hashSet.remove("Banana");

遍历元素

for (String fruit : hashSet) {
    System.out.println(fruit);
}

Set 的实现类比较

HashSet

  • 基于哈希表实现,不保证元素的顺序。
  • 插入、删除和查找操作的时间复杂度为 O(1)。

LinkedHashSet

  • 基于哈希表和链表实现,维护元素的插入顺序。
  • 插入、删除和查找操作的时间复杂度为 O(1)。

TreeSet

java如何使用set

  • 基于红黑树实现,元素按自然顺序或自定义比较器排序。
  • 插入、删除和查找操作的时间复杂度为 O(log n)。

常用操作示例

初始化并添加元素

Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);

获取 Set 的大小

int size = numbers.size();

清空 Set

numbers.clear();

判断 Set 是否为空

boolean isEmpty = numbers.isEmpty();

集合操作

并集

java如何使用set

Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3));
Set<Integer> set2 = new HashSet<>(Arrays.asList(3, 4, 5));
set1.addAll(set2); // set1 现在包含 [1, 2, 3, 4, 5]

交集

set1.retainAll(set2); // set1 现在包含 [3]

差集

set1.removeAll(set2); // set1 现在包含 [1, 2]

自定义对象使用 Set

如果要在 Set 中存储自定义对象,必须重写 equals()hashCode() 方法,以确保对象唯一性。

class Person {
    private String name;
    private int age;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age && Objects.equals(name, person.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }
}

使用 TreeSet 排序

TreeSet 可以按自然顺序或自定义比较器排序。

自然排序

Set<String> treeSet = new TreeSet<>();
treeSet.add("Banana");
treeSet.add("Apple");
treeSet.add("Orange");
// 输出顺序为 Apple, Banana, Orange

自定义排序

Set<Person> people = new TreeSet<>(Comparator.comparingInt(Person::getAge));

分享给朋友:

相关文章

如何安装java

如何安装java

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK下载页面,选择适合操作系统的版本(Windows、macOS或Linux)。推荐下载最新的长期支持(LTS)版本,如Java…

java如何编程

java如何编程

Java编程基础 Java是一种面向对象的编程语言,广泛应用于企业级开发、移动应用(Android)等领域。以下是Java编程的核心步骤和示例。 环境搭建 安装JDK 从Oracle官网下载适合…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…