@Test public void testFirstOrNull() throws Exception { Integer firstLargerThan5 = CollectionHelper.first(testCollection, new Predicate<Integer>() { @Override public boolean apply(Integer object) { return object >= 5; } }); assertThat(firstLargerThan5, is(7)); Integer firstLargerThan50 = CollectionHelper.firstOrNull(testCollection, new Predicate<Integer>() { @Override public boolean apply(Integer object) { return object >= 50; } }); assertNull(firstLargerThan50); }
public static <T> T firstOrNull(Collection<T> items, Predicate<T> predicate) { if (!isEmpty(items)) { for (T item : items) { if (predicate.apply(item)) { return item; } } } return null; }
CollectionHelper { public static <T> T firstOrNull(Collection<T> items, Predicate<T> predicate) { if (!isEmpty(items)) { for (T item : items) { if (predicate.apply(item)) { return item; } } } return null; } }
CollectionHelper { public static <T> T firstOrNull(Collection<T> items, Predicate<T> predicate) { if (!isEmpty(items)) { for (T item : items) { if (predicate.apply(item)) { return item; } } } return null; } private  CollectionHelper(); }
CollectionHelper { public static <T> T firstOrNull(Collection<T> items, Predicate<T> predicate) { if (!isEmpty(items)) { for (T item : items) { if (predicate.apply(item)) { return item; } } } return null; } private  CollectionHelper(); static List<T> filter(Collection<T> items, Predicate<T> predicate); static T first(Collection<T> items, Predicate<T> predicate); static T firstOrNull(Collection<T> items, Predicate<T> predicate); static int firstIndexOf(Collection<T> items, Predicate<T> predicate); static boolean any(Collection<T> items, Predicate<T> predicate); static boolean all(Collection<T> items, Predicate<T> predicate); static boolean isEmpty(Collection items); static T single(Collection<T> items, Predicate<T> predicate); static T singleOrNull(Collection<T> items, Predicate<T> predicate); static int singleIndexOf(Collection<T> items, Predicate<T> predicate); static int count(Collection<T> items, Predicate<T> predicate); static List<TResult> map(Collection<TSource> items, Mapper<TSource, TResult> mapper); }
CollectionHelper { public static <T> T firstOrNull(Collection<T> items, Predicate<T> predicate) { if (!isEmpty(items)) { for (T item : items) { if (predicate.apply(item)) { return item; } } } return null; } private  CollectionHelper(); static List<T> filter(Collection<T> items, Predicate<T> predicate); static T first(Collection<T> items, Predicate<T> predicate); static T firstOrNull(Collection<T> items, Predicate<T> predicate); static int firstIndexOf(Collection<T> items, Predicate<T> predicate); static boolean any(Collection<T> items, Predicate<T> predicate); static boolean all(Collection<T> items, Predicate<T> predicate); static boolean isEmpty(Collection items); static T single(Collection<T> items, Predicate<T> predicate); static T singleOrNull(Collection<T> items, Predicate<T> predicate); static int singleIndexOf(Collection<T> items, Predicate<T> predicate); static int count(Collection<T> items, Predicate<T> predicate); static List<TResult> map(Collection<TSource> items, Mapper<TSource, TResult> mapper); static final int NOT_FOUND_INDEX; }