我的Set<Integer>
Java 程序中有一个保证非空的程序。我想从这个集合中检索一个整数。我不在乎哪个整数,我只需要一些整数,确定性或非确定性地从集合中选择,只要它在集合中。做这个的最好方式是什么?
问问题
363 次
4 回答
9
为什么不只取第一个元素?
return set.iterator().next();
如果它保证不为空,并且您不在乎检索哪个元素,那么这听起来很简单。
于 2013-11-05T20:10:09.277 回答
1
有几种方法。一种是调用iterator()。然后 调用Iteratornext()
。
或者,您可以调用toArray ,然后调用该数组中的一个元素(受其大小限制)。
于 2013-11-05T20:11:00.100 回答
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;
}
我总是检查空值,即使我“保证”我得到一个非空的实例化对象。此方法将接受 a 的任何实现Set
,遍历它,并检查第一次出现的任何整数对象。
于 2013-11-05T20:19:58.653 回答
0
你可以简单地取第一个元素吗?
int elem() {
return set.toArray()[0];
}
于 2013-11-05T20:11:18.660 回答