我的Java程序中有Set<Integer>
,保证非空。我想从这个集合中检索一个整数。我不关心哪个整数,我只需要一些整数,确定性或非确定性地从集合中选择,只要它在集合中。这样做的最佳方式是什么?
答案 0 :(得分:8)
为什么不采取第一个元素?
return set.iterator().next();
如果它保证非空,并且你不关心你检索哪个元素,这听起来就像它一样简单。
答案 1 :(得分:1)
有几种方法。一个是致电iterator()。然后拨打Iterator上的next()
。
或者,您可以调用toArray然后调用该数组中的元素(受其大小限制)。
答案 2 :(得分:1)
private Integer getIntegerFromSet(Set<?> set) {
Integer integerToReturn = null;
if (set != null && !set.isEmpty()) {
for (Object o : set) {
if (o instanceof Integer) {
integerToReturn = (Integer) o;
break;
}
}
}
return integerToReturn;
}
我总是检查是否为null,即使我“保证”我正在获得一个非空的,实例化的对象。此方法将接受Set
的任何实现,遍历它,并检查任何对象是Integer的第一次出现。
答案 3 :(得分:0)
你可以简单地拿第一个元素吗?
int elem() {
return set.toArray()[0];
}