1

我的Set<Integer>Java 程序中有一个保证非空的程序。我想从这个集合中检索一个整数。我不在乎哪个整数,我只需要一些整数,确定性或非确定性地从集合中选择,只要它在集合中。做这个的最好方式是什么?

4

4 回答 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 回答