Java HashSet
Java HashSet
HashSet 是一个项目集合,其中每个项都是唯一的,它在 java.util 包中:
实例
创建一个名为 cars 的 HashSet 对象,该对象将存储字符串:
import java.util.HashSet; // Import the HashSet classHashSet<String> cars = new HashSet<String>();
添加项
HashSet 类有许多有用的方法。例如,要向其中添加项,请使用 add() 方法:
实例
// Import the HashSet classimport java.util.HashSet;public class Main {public static void main(String[] args) {HashSet<String> cars = new HashSet<String>();cars.add("Volvo");cars.add("BMW");cars.add("Ford");cars.add("BMW");cars.add("Mazda");System.out.println(cars);}}
注意:在上面的例子中,尽管 BMW 添加了两次,但它在设置中只出现一次,因为集合中的每个项都必须是唯一的。
检查项是否存在
要检查 HashSet 中是否存在项,请使用 contains() 方法:
实例
// Import the HashSet classimport java.util.HashSet;public class Main {public static void main(String[] args) {HashSet<String> cars = new HashSet<String>();cars.add("Volvo");cars.add("BMW");cars.add("Ford");cars.add("BMW");cars.add("Mazda");System.out.println(cars.contains("Mazda"));}}
移除项
要删除项,请使用 remove() 方法:
实例
// Import the HashSet classimport java.util.HashSet;public class Main {public static void main(String[] args) {HashSet<String> cars = new HashSet<String>();cars.add("Volvo");cars.add("BMW");cars.add("Ford");cars.add("BMW");cars.add("Mazda");cars.remove("Volvo");System.out.println(cars);}}
要移除所有项,请使用 clear() 方法:
实例
// Import the HashSet classimport java.util.HashSet;public class Main {public static void main(String[] args) {HashSet<String> cars = new HashSet<String>();cars.add("Volvo");cars.add("BMW");cars.add("Ford");cars.add("BMW");cars.add("Mazda");cars.clear();System.out.println(cars);}}
HashSet 大小
要查询其中有多少项, 可以使用 size 方法:
实例
// Import the HashSet classimport java.util.HashSet;public class Main {public static void main(String[] args) {HashSet<String> cars = new HashSet<String>();cars.add("Volvo");cars.add("BMW");cars.add("Ford");cars.add("BMW");cars.add("Mazda");System.out.println(cars.size());}}
循环遍历 HashSet
使用 for-each 循环遍历 HashSet 的项:
实例
// Import the HashSet classimport java.util.HashSet;public class Main {public static void main(String[] args) {HashSet<string> cars = new HashSet<string>();cars.add("Volvo");cars.add("BMW");cars.add("Ford");cars.add("BMW");cars.add("Mazda");for (String i : cars) {System.out.println(i);}}}
其他类型
HashSet 中的项实际上是对象。在上面的例子中,我们使用了 "String" 类型的对象。请记住,Java 中的字符串是对象(而不是基本类型)。要使用其他类型,例如 int,必须指定一个等效的包装类:Integer。对于其他基本类型,使用:Boolean 表示布尔,Character 表示字符,Double 表示双精度,等等:
实例
使用存储 Integer 整数对象的 HashSet
// Import the HashSet classimport java.util.HashSet;public class Main {public static void main(String[] args) {// Create a HashSet object called numbersHashSet<Integer> numbers = new HashSet<Integer>();// Add values to the setnumbers.add(4);numbers.add(7);numbers.add(8);// Show which numbers between 1 and 10 are in the setfor(int i = 1; i <= 10; i++) {if(numbers.contains(i)) {System.out.println(i + " was found in the set.");} else {System.out.println(i + " was not found in the set.");}}}}