JavaHashSet 类实现了Set 接口中的remove() 方法,你可以用它来从你的HashSet 实例中删除一个元素。
你需要指定要删除的元素作为该方法的参数:
HashSet.remove(Object O);
你传递给该方法的参数假定为你在初始化期间传递给HashSet 实例的通用类型Object 。
当找到并删除一个元素时,remove() 方法将返回true ,如果失败,则返回false 。
例如,假设你创建了一个<String> 类型的HashSet ,如下图所示:
public static void main(String args[])
{
HashSet<String> mySet = new HashSet<>();
mySet.add("Tiger");
mySet.add("Lion");
mySet.add("Hyena");
}
然后你可以从mySet 变量中删除一个元素,方法如下:
public static void main(String args[])
{
HashSet<String> mySet = new HashSet<>();
mySet.add("Tiger");
mySet.add("Lion");
mySet.add("Hyena");
mySet.remove("Tiger");
System.out.println("HashSet content: " + mySet);
}
输出结果将如下图所示:
HashSet content: [Lion, Hyena]
此外,当你传递一个Integer 作为remove() 方法的参数时,即使你在初始化过程中使用了<String> 通用类型,Java也不会抛出一个错误。
即使参数类型与你的通用类型不同,Java也会为在HashSet 内未找到的任何值返回false :
public static void main(String args[])
{
HashSet<String> mySet = new HashSet<>();
mySet.add("Tiger");
mySet.add("Lion");
mySet.add("Hyena");
System.out.println(mySet.remove("Lion")); // true
System.out.println(mySet.remove("Horse")); // false
System.out.println(mySet.remove(92)); // false
}
你可以使用remove() 方法的返回值来通知用户指定的元素是否被删除: