【发布时间】:2012-07-01 22:11:56
【问题描述】:
我的问题是: 有什么方法可以快速确定一个数字是否包含在 Collection 中,以了解是否将其添加到集合中并保持唯一性。如果我能提供帮助,我宁愿不遍历列表。
我有一个名为numberList 的List<Integer>。我希望它存储唯一的整数,并且永远不允许添加重复项。我想做这样的事情:
private void add(int number) {
if (!numberList.contains(number)) {
numberList.add(number);
}
}
但这显然行不通,因为numberList 包含Integer 对象的列表,因此无论数量多少,每个对象都是唯一的对象。
谢谢!
【问题讨论】:
-
我认为
contains(...)方法使用对象的equals(...)方法来查看它是否被集合持有,所以你上面的方法也应该防止重复。 -
嗯,也许我的代码有其他问题,这会产生意想不到的结果。感谢您的提示!
-
如果你的代码和我的一样,那么总是有其他问题!如果您需要帮助找到它,请回来提供更多信息!
标签: java collections unique