【Java】HashSet的一些基本用法

HashSet是基于HashMap来实现的,是一个不允许有重复元素的集合。
HashSet允许有null值
HashSet是无序的,即不会记录插入的顺序。
HashSet不是线程安全的,如果多个线程尝试同时修改HashSet,则最终结果是不确定的。
必须在多线程访问时显式同步对HashSet的并发访问。
HashSet实现了Set接口 >Iterable

HashSet中的元素实际上是对象,一些常见的基本类型则可以使用它的包装类
image.png
HashSet类位于java.util包中,使用前需要引入它,语法格式如下:
image.png
以下实例我们创建一个HashSet对象sites,用于保存字符串元素。
image.png

添加元素

HashSet 类提供了很多有用的方法,添加元素可以使用 add() 方法:
image.png
输出结果为

[Google, Runoob, Zhihu, Taobao]

在上面的实例中,Runoob 被添加了两次,它在集合中也只会出现一次,因为集合中的每个元素都必须是唯一的。

判断元素是否存在

我们可以使用contains()方法来判断元素是否存在于集合当中
image.png

删除元素

我们可以使用 remove() 方法来删除集合中的元素:
image.png
删除集合中所有元素可以使用clear方法
image.png

计算大小

如果要计算HashSet中的元素数量可以使用size()方法。
image.png

迭代HashSet

可以使用for-each来迭代HashSet中的元素
image.png

  • 12
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: Java中的HashSet是一种基于哈希表实现的集合。使用HashSet可以存储不重复的元素,支持添加、删除、查询等基本操作。 HashSet基本用法如下: 1. 创建一个HashSet对象: ```java Set<String> set = new HashSet<>(); ``` 2. 添加元素: ```java set.add("apple"); set.add("banana"); set.add("orange"); ``` 3. 删除元素: ```java set.remove("banana"); ``` 4. 判断元素是否存在: ```java boolean hasApple = set.contains("apple"); ``` 5. 获取元素个数: ```java int size = set.size(); ``` 6. 遍历元素: ```java for (String fruit : set) { System.out.println(fruit); } ``` 需要注意的是,HashSet不保证元素的顺序,因此遍历时可能会出现随机的顺序。如果需要有序的集合,可以考虑使用TreeSet。 ### 回答2: Java HashSet集合是一种无序的、不重复的集合,它不保存集合中元素的位置和顺序,存储元素的位置是根据元素的哈希值决定的。HashSet继承自AbstractSet并实现了Set接口。 巧妙利用了哈希算法,使得HashSet的检索效率非常高。因为哈希算法将元素的键转换为其对应的哈希码,在检索时只需将元素的键与哈希码对比即可,不需要遍历集合中的所有元素。 HashSet基本用法如下: 1.添加元素到集合 HashSet.add(element)方法可以将元素添加到集合中,如果该元素已经存在于该集合中,则该方法不会执行任何操作,不会进行重复添加。 例如: ```java HashSet<String> set = new HashSet<>(); set.add("java"); set.add("c++"); set.add("python"); set.add("java"); //重复添加java,不会执行任何操作 ``` 2.从集合中删除元素 HashSet.remove(element)方法可以从集合中删除指定元素,如果该元素不存在于集合中,则该方法不会执行任何操作。 例如: ```java HashSet<String> set = new HashSet<>(); set.add("java"); set.add("c++"); set.add("python"); set.remove("c++"); //删除元素c++ ``` 3.判断元素是否在集合中存在 HashSet.contains(element)方法用于判断集合中是否存在指定元素,返回值为布尔类型。 例如: ```java HashSet<String> set = new HashSet<>(); set.add("java"); set.add("c++"); set.add("python"); boolean isContains = set.contains("java"); //判断元素java是否存在于集合中,返回true ``` 4.遍历集合 HashSet的遍历可以使用迭代器iterator或for-each循环。 例如: ```java HashSet<String> set = new HashSet<>(); set.add("java"); set.add("c++"); set.add("python"); Iterator<String> it = set.iterator(); while(it.hasNext()) { String element = it.next(); System.out.println(element); } for(String str : set) { System.out.println(str); } ``` 以上就是Java HashSet集合的基本用法,它可以有效地去重和快速查询元素,是Java编程中常用的集合类之一。 ### 回答3: HashSetJava中的一种集合类,实现了Set接口,继承于AbstractSet类,是一个没有重复元素的集合,它是基于HashMap实现的。HashSet集合中没有重复的元素,它保证元素的唯一性是通过将元素转换成hashcode来实现的,因此不建议将不可变的对象作为HashSet元素,例如列表或集。 HashSet集合基本用法: 1. 创建HashSet对象:可以通过构造函数创建HashSet对象。 HashSet<String> set = new HashSet<>(); 2. 添加元素:通过add()方法可以向HashSet中添加元素。set.add("Java"); set.add("Python"); 3. 判断元素是否存在:使用contains()方法判断元素是否存在。boolean isPresent = set.contains("Java"); 4. 删除元素:使用remove()方法删除HashSet中的某个元素。set.remove("Python"); 5. 遍历HashSet:可以使用foreach循环或迭代器遍历HashSet中的元素。 for (String s : set) { System.out.println(s); } 6. 计算大小:使用size()方法计算HashSet中元素的个数。int size = set.size(); 7. 清空HashSet:使用clear()方法清空HashSet。set.clear(); 要注意的是,HashSet中的元素顺序是不确定的,不同的运行结果可能会有所不同。 HashSet还有很多其他的方法可以使用,例如toArray()方法可以将HashSet转换成数组,addAll()方法可以将另一个集合中的所有元素添加到HashSet中等等,开发者在具体使用过程中可以进一步学习和了解,以实现更好更高效的开发。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gremmie2003

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值