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()
方法的返回值来通知用户指定的元素是否被删除: