java的HashSet

文章目录

  • java的HashSet
    • HashSet的增删查
      • 增(add)
      • 删(remove)
      • 查(contains)
    • HashSet的迭代
    • HashSet的长度(size())

java的HashSet

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。如果想了解HashMap可以去看我的这篇博客。

HashSet 允许有 null 值,且是无序的。
HashSet 不是线程安全的, 如果多个线程同时修改 HashSet,那么最终的结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。

HashSet 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类,而自己定义的类和String则可以直接作为他的元素使用

基本类型和他的包装类的对应情况如下所示:

基本类型引用类型
booleanBoolean
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter

引用:

import java.util.HashSet; // 引入 HashSet 类

初始化:

HashSet<String> sites = new HashSet<String>();
//如果是int类型,那么就是
HashSet<Integer> nums = new HashSet<Integer>();
//如果是自己定义的比如Animal类,那么就是
HashSet<Animal> animals = new HashSet<Animal>();

HashSet的增删查

增(add)

// 引入 HashSet 类      
import java.util.HashSet;public class HashSetDemo {public static void main(String[] args) {HashSet<String> sites = new HashSet<String>();sites.add("www.baidu.com");sites.add("www.hstc.edu.cn");sites.add("wx.qq.com");sites.add("mail.qq.com");sites.add("www.baidu.com");  // 重复的元素不会被添加System.out.println(sites);}
}

显示如下:
在这里插入图片描述
可见,只剩下一个www.baidu.com了,因为他是不可重复的,而且顺序也跟我们添加的不太一样,究其原因,则是因为他是无序的。

删(remove)

方法:remove,删除成功返回true,失败返回false。

import java.util.HashSet;public class HashSetDemo {public static void main(String[] args) {HashSet<String> sites = new HashSet<String>();sites.add("www.baidu.com");sites.add("www.hstc.edu.cn");sites.add("wx.qq.com");sites.add("mail.qq.com");sites.add("www.baidu.com");  // 重复的元素不会被添加System.out.println(sites);	//删除sites.remove("www.hstc.edu.cn");System.out.print("删除www.hstc.edu.cn后:");System.out.println(sites);   }
}

显示:
在这里插入图片描述

查(contains)

方法:contains,存在返回true,不存在返回false

import java.util.HashSet;public class HashSetDemo {public static void main(String[] args) {HashSet<String> sites = new HashSet<String>();sites.add("www.baidu.com");sites.add("www.hstc.edu.cn");sites.add("wx.qq.com");sites.add("mail.qq.com");sites.add("www.baidu.com");  // 重复的元素不会被添加System.out.println(sites);	//查,判断某元素是否在其中System.out.print("判断某元素是否存在:");System.out.println(sites.contains("wx.qq.com"));}
}

显示:
在这里插入图片描述

HashSet的迭代

import java.util.HashSet;public class HashSetDemo {public static void main(String[] args) {HashSet<String> sites = new HashSet<String>();sites.add("www.baidu.com");sites.add("www.hstc.edu.cn");sites.add("wx.qq.com");sites.add("mail.qq.com");sites.add("www.baidu.com");  // 重复的元素不会被添加System.out.println(sites);	for(String site : sites){System.out.println(site);}}
}

显示:
在这里插入图片描述

HashSet的长度(size())

想知道HashSet的长度,只需要调用其方法size()即可。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部