Add firstElement to CollectionUtils
This commit is contained in:
parent
14ce84cebb
commit
d503bc2804
|
|
@ -355,6 +355,45 @@ public abstract class CollectionUtils {
|
||||||
return list.get(list.size() - 1);
|
return list.get(list.size() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the first element of the given Set, using {@link SortedSet#first()}
|
||||||
|
* or otherwise using the iterator.
|
||||||
|
* @param set the Set to check (may be {@code null} or empty)
|
||||||
|
* @return the first element, or {@code null} if none
|
||||||
|
* @see SortedSet
|
||||||
|
* @see LinkedHashMap#keySet()
|
||||||
|
* @see java.util.LinkedHashSet
|
||||||
|
*/
|
||||||
|
@Nullable
|
||||||
|
public static <T> T firstElement(@Nullable Set<T> set) {
|
||||||
|
if (isEmpty(set)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (set instanceof SortedSet) {
|
||||||
|
return ((SortedSet<T>) set).first();
|
||||||
|
}
|
||||||
|
|
||||||
|
Iterator<T> it = set.iterator();
|
||||||
|
T first = null;
|
||||||
|
if (it.hasNext()) {
|
||||||
|
first = it.next();
|
||||||
|
}
|
||||||
|
return first;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the first element of the given List, accessing the zero index.
|
||||||
|
* @param list the List to check (may be {@code null} or empty)
|
||||||
|
* @return the first element, or {@code null} if none
|
||||||
|
*/
|
||||||
|
@Nullable
|
||||||
|
public static <T> T firstElement(@Nullable List<T> list) {
|
||||||
|
if (isEmpty(list)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return list.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marshal the elements from the given enumeration into an array of the given type.
|
* Marshal the elements from the given enumeration into an array of the given type.
|
||||||
* Enumeration elements must be assignable to the type of the given array. The array
|
* Enumeration elements must be assignable to the type of the given array. The array
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue