一、HashSet的特点:
1、基于HashMap来实现。
2、无序但不重复的(按Hash Cord值来排序与插入顺序无关)
3、HashSet实现了Set接口。
4、HashSet中的元素实际上是对象,一些常见的一些基本类可以使用他的包装类。
二、HashSet的使用
引用入HashSet类:位于Java.util;使用前需要引入它,语法格式如下:
import java.util.HashSet;//引入HashSet 类
创建HashSet对象sites
public class HashSet {
HashSet sites=new HashSet();
}
添加元素:
import java.util.HashSet;
/**
* @Author Super
* @Date 2021/11/10
* @Dexcription HashSet演示
*/
public class hashSet {
public static void main(String[] args) {
HashSet sites=new HashSet();
sites.add("2");
sites.add("34");
sites.add("3");
sites.add("56");
sites.add("56");//重复元素
System.out.println(sites);
}
}
运行结果:
[34, 56, 2, 3]
判断元素是否存在
import java.util.HashSet;
/**
* @Author Super
* @Date 2021/11/10
* @Dexcription HashSet演示
*/
public class hashSet {
public static void main(String[] args) {
HashSet sites=new HashSet();
sites.add("2");
sites.add("34");
sites.add("3");
sites.add("56");
sites.add("56");//重复元素
System.out.println(sites);
System.out.println(sites.contains("34"));//查找元素
}
}
运行结果:
[34, 56, 2, 3]
true
删除元素:
import java.util.HashSet;
/**
* @Author Super
* @Date 2021/11/10
* @Dexcription HashSet演示
*/
public class hashSet {
public static void main(String[] args) {
HashSet sites=new HashSet();
sites.add("2");
sites.add("34");
sites.add("3");
sites.add("56");
sites.add("56");//重复元素
System.out.println(sites);
System.out.println(sites.contains("34"));
sites.remove("56");//移除元素
System.out.println(sites);
}
}
运行结果:
[34, 56, 2, 3]
true
[34, 2, 3]
计算大小:
import java.util.HashSet;
/**
* @Author Super
* @Date 2021/11/10
* @Dexcription HashSet演示
*/
public class hashSet {
public static void main(String[] args) {
HashSet sites=new HashSet();
sites.add("2");
sites.add("34");
sites.add("3");
sites.add("56");
sites.add("56");//重复元素
System.out.println(sites);
System.out.println(sites.contains("34"));
sites.remove("56");
System.out.println(sites);
System.out.println(sites.size());//计算大小
}
}
运行结果:
[34, 56, 2, 3]
true
[34, 2, 3]
3
清空集合:
import java.util.HashSet;
/**
* @Author Super
* @Date 2021/11/10
* @Dexcription HashSet演示
*/
public class hashSet {
public static void main(String[] args) {
HashSet sites=new HashSet();
sites.add("2");
sites.add("34");
sites.add("3");
sites.add("56");
sites.add("56");//重复元素
System.out.println(sites);
System.out.println(sites.contains("34"));
sites.remove("56");
System.out.println(sites);
System.out.println(sites.size());
sites.clear();//清空集合
System.out.println(sites);
}
}
运行结果:
[34, 56, 2, 3]
true
[34, 2, 3]
3
[]
迭代HashSet
import java.util.HashSet;
/**
* @Author Super
* @Date 2021/11/10
* @Dexcription HashSet演示
*/
public class hashSet {
public static void main(String[] args) {
HashSet<String> sites=new HashSet<>();
sites.add("2");
sites.add("34");
sites.add("3");
sites.add("56");
sites.add("56");//重复元素
System.out.println(sites);
System.out.println(sites.contains("34"));
sites.remove("56");
System.out.println(sites);
System.out.println(sites.size());
// sites.clear();//清空集合
// System.out.println(sites);
for (String i:sites){//迭代遍历
System.out.println(i);
}
}
}
运行结果:
[34, 56, 2, 3]
true
[34, 2, 3]
3
34
2
3