public static <T> T single(final List<T> list) { switch (VerifyArgument.notNull(list, "list").size()) { case 0: throw Error.sequenceHasNoElements(); case 1: return list.get(0); default: throw Error.sequenceHasMultipleElements(); } }
@Override public final T set(final int index, final T element) { throw Error.unmodifiableCollection(); }
public static <T> T first(final List<T> list) { if (VerifyArgument.notNull(list, "list").isEmpty()) { throw Error.sequenceHasNoElements(); } return list.get(0); }
public static <T> T get(final List<T> list, final int index) { if (index >= VerifyArgument.notNull(list, "list").size() || index < 0) { throw Error.indexOutOfRange(index); } return list.get(index); }
public static <T> T singleOrDefault(final List<T> list) { switch (VerifyArgument.notNull(list, "list").size()) { case 0: return null; case 1: return list.get(0); default: throw Error.sequenceHasMultipleElements(); } }
public static <T> T last(final List<T> list) { if (VerifyArgument.notNull(list, "list").isEmpty()) { throw Error.sequenceHasNoElements(); } return list.get(list.size() - 1); }
public static <T> T get(final List<T> list, final int index) { if (index >= VerifyArgument.notNull(list, "list").size() || index < 0) { throw Error.indexOutOfRange(index); } return list.get(index); }
public static <T> T singleOrDefault(final List<T> list) { switch (VerifyArgument.notNull(list, "list").size()) { case 0: return null; case 1: return list.get(0); default: throw Error.sequenceHasMultipleElements(); } }
@Override public final boolean remove(final Object o) { throw Error.unmodifiableCollection(); }
public static <T> T single(final List<T> list) { switch (VerifyArgument.notNull(list, "list").size()) { case 0: throw Error.sequenceHasNoElements(); case 1: return list.get(0); default: throw Error.sequenceHasMultipleElements(); } }
public static <T> T first(final List<T> list) { if (VerifyArgument.notNull(list, "list").isEmpty()) { throw Error.sequenceHasNoElements(); } return list.get(0); }
public static <T> T get(final List<T> list, final int index) { if (index >= VerifyArgument.notNull(list, "list").size() || index < 0) { throw Error.indexOutOfRange(index); } return list.get(index); }
public static <T> T singleOrDefault(final List<T> list) { switch (VerifyArgument.notNull(list, "list").size()) { case 0: return null; case 1: return list.get(0); default: throw Error.sequenceHasMultipleElements(); } }
@Override public final T remove(final int index) { throw Error.unmodifiableCollection(); }
public static <T> T single(final List<T> list) { switch (VerifyArgument.notNull(list, "list").size()) { case 0: throw Error.sequenceHasNoElements(); case 1: return list.get(0); default: throw Error.sequenceHasMultipleElements(); } }
public static <T> T last(final List<T> list) { if (VerifyArgument.notNull(list, "list").isEmpty()) { throw Error.sequenceHasNoElements(); } return list.get(list.size() - 1); }
public static <T> T get(final Iterable<T> collection, final int index) { if (VerifyArgument.notNull(collection, "collection") instanceof List<?>) { return get((List<T>) collection, index); } int i = 0; for (final T item : collection) { if (i++ == index) { return item; } } throw Error.indexOutOfRange(index); }
public static <T> T singleOrDefault(final Iterable<T> collection) { if (collection instanceof List<?>) { return singleOrDefault((List<T>) collection); } final Iterator<T> it = VerifyArgument.notNull(collection, "collection").iterator(); if (it.hasNext()) { final T result = it.next(); if (it.hasNext()) { throw Error.sequenceHasMultipleElements(); } return result; } return null; }
@Override public final boolean add(final T T) { throw Error.unmodifiableCollection(); }
public static <T> T single(final Iterable<T> collection) { if (collection instanceof List<?>) { return single((List<T>) collection); } final Iterator<T> it = VerifyArgument.notNull(collection, "collection").iterator(); if (it.hasNext()) { final T result = it.next(); if (it.hasNext()) { throw Error.sequenceHasMultipleElements(); } return result; } throw Error.sequenceHasNoElements(); }