查看javadoc,我看到ArrayList有一个重载的add方法:
公共布尔加法(E E)
将指定的元素追加到此列表的末尾。
所以我去了收藏。添加(E):
布尔加法
确保此集合包含指定的元素(可选操作)。如果此集合由于调用而更改,则返回true。(如果此集合不允许重复并且已包含指定的元素,则返回false。)
public void add(E e){
if(e is not in set){
add e;
}
}
这样,如果e
在集合中,则不采取任何操作。为什么返回boolean
而不是void
方法更好呢?
collection.add
是一个非常通用的方法(不是Java泛型的意思,而是广泛适用的意思)。因此,他们想要一个可以普遍应用的返回值。
有些类(如arraylist
)总是接受元素,因此总是返回true
。您说得对,在这些情况下,返回类型void
也是一样好的。
但其他元素(如set
)有时不允许添加元素。在set
的情况下,如果equal元素已经存在,就会发生这种情况。知道这一点通常是有帮助的。另一个例子是有界集合(它只能容纳一定数量的元素)。
if (!set.contains(item)) {
set.add(item);
itemWasAdded(item);
}
if (set.add(item)) {
itemWasAdded(item);
}
问题内容: 查看javadoc,我看到ArrayList有一个重载的add方法: public boolean add(E e) 将指定的元素追加到此列表的末尾。 和 public void add(int index,E元素) 将指定的元素插入此列表中的指定位置。将当前在该位置的元素(如果有)和任何后续元素右移(将其索引添加一个)。 我注意到第一个返回了一个,而第二个返回了一个。事实证明,第一个
问题内容: 为什么不: 代替: 获得唯一哈希码的更高机会? 问题答案: 因为数组的最大长度为。 由于的主要用途是确定将对象插入/ 的后备数组中的哪个插槽,因此hashcode> 将无法存储在该数组中。
为什么numeric_limits::min返回一个负值为int,但正值为例如浮动和双? 输出: 参考文献: 返回可由数字类型T表示的最小有限值。 对于具有反规范化的浮点类型,min返回最小的正规范化值。请注意,这种行为可能是意外的,特别是与整型类型的min行为相比。要查找没有值小于它的值,请使用。 min仅对有界类型和无界无符号类型有意义,也就是说,表示无穷多个负值的类型没有意义的最小值。
问题内容: 我正在使用该方法。我从调试中知道不是。我真的很困惑,谢谢。 问题答案: 您需要初始化一个List才能获取。
问题内容: 我尝试将对象添加到实例,但会引发。有人知道为什么吗? 我的Java代码: 错误信息: 问题答案: 并非每个实现都支持该方法。 一个常见的示例是通过以下方式List返回的:它被记录为不支持任何结构修改(即,删除或添加元素)(强调我的意思): 返回由指定数组支持的固定大小的列表。 即使这不是List你要修改的特定内容,答案仍然适用于List不可变或仅允许某些选定更改的其他实现。 你可以通过
问题内容: 我已经能够验证结果是否为。但是,它不返回列表。为什么? 问题答案: 对列表进行适当排序,即不返回新列表。写吧