java的HashSet
文章目录
- java的HashSet
- HashSet的增删查
- 增(add)
- 删(remove)
- 查(contains)
- HashSet的迭代
- HashSet的长度(size())
java的HashSet
HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。如果想了解HashMap可以去看我的这篇博客。
HashSet 允许有 null 值,且是无序的。
HashSet 不是线程安全的, 如果多个线程同时修改 HashSet,那么最终的结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。
HashSet 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类,而自己定义的类和String则可以直接作为他的元素使用。
基本类型和他的包装类的对应情况如下所示:
| 基本类型 | 引用类型 |
|---|---|
| boolean | Boolean |
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
引用:
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()即可。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
