Java 为什么返回一些方法的值,例如:add(E)、remove(Object)、addAll、,。。。集合框架中是否为布尔值?

Java 为什么返回一些方法的值,例如:add(E)、remove(Object)、addAll、,。。。集合框架中是否为布尔值?,java,collections,Java,Collections,我是个愚蠢的学生。我有一个问题,就是题目。 我认为当我这样做时,返回布尔值与否对我没有影响: List<String> lst = new ArrayList<String>(); lst.add("whatever"); lst.remove("whatever"); List lst=new ArrayList(); 第1条添加(“任何”); l.移除(“任何”); 下面是API中Arraylist类的remove方法(从集合接口重写): public boole

我是个愚蠢的学生。我有一个问题,就是题目。 我认为当我这样做时,返回布尔值与否对我没有影响:

List<String> lst = new ArrayList<String>();
lst.add("whatever");
lst.remove("whatever");
List lst=new ArrayList();
第1条添加(“任何”);
l.移除(“任何”);
下面是API中Arraylist类的remove方法(从集合接口重写):

public boolean remove(Object o) {
    if (o == null) {
        for (int index = 0; index < size; index++)
            if (elementData[index] == null) {
                fastRemove(index);
                return true;
            }
    } else {
        for (int index = 0; index < size; index++)
            if (o.equals(elementData[index])) {
                fastRemove(index);
                return true;
            }
    }
    return false;
}
公共布尔删除(对象o){
如果(o==null){
对于(int index=0;index
我认为如果在集合接口中,框架的设计者编写
公共void remove(objecto)可以,但他们必须有特定的目的,我不明白。返回布尔值是为了什么?请告诉我

删除(o)
如果在集合中未找到o,则返回false。

如果删除:

它准确地告诉您是否有任何对象已从您的收藏中删除

在添加的情况下:

它在
集合
中很有用,比如
集合
,因为如果向集合中添加了新元素,它将返回
true
,如果对象已经在集合中,它将返回
false

从哈希集:

public boolean add(E e) {
    return (this.map.put(e, PRESENT) == null);
  }

有时,客户机代码可能不知道要删除的对象是否是集合的一部分。此客户端代码当然希望了解删除操作的效果。因此,设计决定返回布尔值

--编辑 例如
假设在两个线程之间共享一个同步的集合。一个填充它,另一个从中移除对象。删除线程想知道删除是否成功。

返回的
布尔值告诉您元素是否包含给定的元素。请查看
ArrayList
官方文档请给我一些示例,说明如何在客户端代码中使用返回的布尔值。