向Set接口中的HashSet集合存入元素

本文详细探讨了如何使用HashSet实现向Set接口存储元素的过程,涵盖了添加元素的原理、特性以及常见问题。通过实例代码解析,帮助读者掌握HashSet在Java集合框架中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

步骤:
1、创建一个Student类,设置类中的属性,包括私有的id和name。

2、 ps:调用HashSet集合的add方法时,会调用存入对象的hashCode()方法获得对象的哈希值,根据此哈希值计算出一个存储位置,如果该位置没有元素,直接将元素存入,若有元素存在,会调用equals()方法让当前元素和该位置上的元素进行比较,若返回结果为false,就将该元素存入集合,返回结果为true,说明有重复元素,就将该元素舍弃。

重点:所以HashSet需要重写hashCode()方法和equals()方法!!!!!!!!!!!!!!!!

3、重写toString()方法。

4、进行equals()方法时,
(1)判断是否为同一个对象,若为同一个对象,则返回true。
(2)判断是否为Student对象,若不是,则强制转换为Student对象。

(3)判断id值是否相同,若相同,则返回。


5、创建HashSet对象和 Student对象,在主类中进行添加。
6、向集合中添加对象。

p
### 向Java Collection接口的实现类中添加元素 在Java中,`Collection` 接口本身并不提供具体的实现类,而是通过其子接口 `List` 和 `Set` 来间接实现。为了向这些集合中添加元素,通常会使用具体实现类的对象。 #### 使用ArrayList作为List的具体实现 对于 `List` 类型的集合,可以通过创建 `ArrayList` 对象并调用 `add()` 方法来添加元素: ```java import java.util.ArrayList; import java.util.List; public class AddToListExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); // 添加单个元素到列表末尾 list.add("Apple"); list.add("Banana"); // 在指定索引处插入元素 list.add(0, "Orange"); System.out.println(list); // 输出: [Orange, Apple, Banana] } } ``` 这段代码展示了如何利用 `ArrayList` 的两个不同形式的 `add()` 方法:一种是在列表最后追加新项;另一种则允许指定要插入的位置[^2]。 #### 使用HashSet作为Set的具体实现 当涉及到不允许有重复成员且不需要保持任何特定顺序的情况时,则可以选择基于 `Set` 接口的 `HashSet` 实现来进行操作: ```java import java.util.HashSet; import java.util.Set; public class AddToSetExample { public static void main(String[] args) { Set<Integer> set = new HashSet<>(); // 尝试多次添加相同的整数只会保留一次实例 set.add(1); set.add(2); set.add(2); System.out.println(set.size()); // 输出: 2 (因为只存入了不同的数) } } ``` 这里可以看到即使尝试加入相同的数据两次以上,在最终的结果集中也仅会出现一次该的存在[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值