Java HashSet remove()方法解释

494 阅读1分钟

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