网站建设ppt模板品牌设计公司排名前十强
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者
新书发布:《Android系统多媒体进阶实战》🚀
优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
🍉🍉🍉文章目录🍉🍉🍉
- 🌻1. 前言
- 🌻2. Java HashSet关键字介绍
- 🌻3. 代码实例
- 🌻3.1 使用HashSet存储唯一元素
- 🌻3.2 使用HashSet实现去重功能
- 🌻3.3 使用HashSet与自定义对象
- 🌻3.4 HashSet关键字总结
🌻1. 前言
本篇目的:Java进阶之HashSet关键字:用法实例
🌻2. Java HashSet关键字介绍
-
基本概念
HashSet
是Java集合框架中的一个类,实现了Set
接口。HashSet
基于哈希表实现,确保集合中的元素唯一。
-
功能
- 提供集合的基本操作,如添加、删除和检查元素是否存在。
- 确保集合中的元素唯一,不允许重复。
-
使用限制
HashSet
的元素必须实现hashCode
和equals
方法,以确保元素的唯一性。- 元素可以是任何对象,但
HashSet
允许一个null
元素。
-
性能特性
HashSet
基于哈希表实现,提供快速的查找和插入操作。- 合理使用
HashSet
可以提高代码的性能和可维护性。
-
使用场景
- 广泛应用于需要存储唯一元素的场景。
- 特别适用于需要快速查找和去重的场景。
🌻3. 代码实例
🌻3.1 使用HashSet存储唯一元素
-
应用场景
- 使用
HashSet
存储唯一元素,避免重复。
- 使用
-
用法实例
import java.util.HashSet; import java.util.Set;public class HashSetExample {public static void main(String[] args) {Set<String> set = new HashSet<>();set.add("Apple");set.add("Banana");set.add("Cherry");set.add("Apple"); // 重复元素不会被添加System.out.println("Set size: " + set.size());System.out.println("Set contains Banana: " + set.contains("Banana"));set.remove("Banana");System.out.println("Set after removal: " + set);} }
输出:
Set size: 3
Set contains Banana: true
Set after removal: [Apple, Cherry]
🌻3.2 使用HashSet实现去重功能
-
应用场景
- 使用
HashSet
实现去重功能,确保集合中的元素唯一。
- 使用
-
用法实例
import java.util.HashSet; import java.util.Set;public class HashSetDeduplicationExample {public static void main(String[] args) {Set<String> set = new HashSet<>();String[] fruits = {"Apple", "Banana", "Cherry", "Apple", "Banana"};for (String fruit : fruits) {set.add(fruit);}System.out.println("Unique fruits: " + set);} }
输出:
Unique fruits: [Apple, Banana, Cherry]
🌻3.3 使用HashSet与自定义对象
-
应用场景
- 使用
HashSet
存储自定义对象,确保对象的唯一性。
- 使用
-
用法实例
import java.util.HashSet; import java.util.Set;class Person {String name;int age;Person(String name, int age) {this.name = name;this.age = age;}@Overridepublic 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 && name.equals(person.name);}@Overridepublic int hashCode() {return java.util.Objects.hash(name, age);}@Overridepublic String toString() {return "Person{name='" + name + "', age=" + age + "}";} }public class HashSetWithCustomObjectsExample {public static void main(String[] args) {Set<Person> set = new HashSet<>();set.add(new Person("Alice", 30));set.add(new Person("Bob", 25));set.add(new Person("Alice", 30)); // 重复对象不会被添加System.out.println("Set size: " + set.size());System.out.println("Set contains Alice: " + set.contains(new Person("Alice", 30)));System.out.println("Set: " + set);} }
输出:
Set size: 2
Set contains Alice: true
Set: [Person{name=‘Alice’, age=30}, Person{name=‘Bob’, age=25}]
🌻3.4 HashSet关键字总结
关键词 | 功能描述 | 典型应用 |
---|---|---|
HashSet | 基于哈希表的集合实现 | 提供集合的基本操作,确保元素唯一 |
添加元素 | 使用add方法添加元素 | 确保元素唯一,避免重复 |
检查元素 | 使用contains方法检查元素是否存在 | 快速检查元素是否存在 |
删除元素 | 使用remove方法删除元素 | 删除指定元素,确保集合更新 |