Как получить элемент из набора?

У меня есть Set в моей программе Java, которая гарантированно будет непустой. Я хочу получить один из целых чисел из этого набора. Мне все равно, какой Integer, мне просто нужен целое, детерминистически или недетерминированно выбранный из набора, если он находится в наборе. Каков наилучший способ сделать это?

4 ответа

Почему бы просто не взять первый элемент?

return set.iterator().next();

Если он гарантированно непустое, и вам не важно, какой элемент вы извлекаете, это звучит так же просто, как и получается.


Есть несколько способов. Один из них - вызвать iterator(). Затем вызовите next() на Iterator.

В качестве альтернативы вы можете вызвать toArray, затем элемент из этого массива (связанный его размером).


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;
}

Я всегда проверяю значение nullness, даже если я "гарантирован", что получаю непустой экземпляр объекта. Этот метод будет принимать любую реализацию Set, перебирать через него и проверять первое вхождение любого объекта, который является Integer.


Вы можете просто взять первый элемент?

int elem() {
 return set.toArray()[0]; 
}

licensed under cc by-sa 3.0 with attribution.