![JAR search and dependency download from the Maven repository](/logo.png)
it.ozimov.cirneco.hamcrest.iterable.utils.IterableUtils Maven / Gradle / Ivy
package it.ozimov.cirneco.hamcrest.iterable.utils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import static com.google.common.base.Preconditions.checkNotNull;
public class IterableUtils {
private IterableUtils() {
}
public static boolean isEmpty(final Iterable super K> iterable) {
checkNotNull(iterable);
return !iterable.iterator().hasNext();
}
public static List listCopy(final Iterable extends K> iterable) {
checkNotNull(iterable);
final List list = new ArrayList<>();
for (final K k : iterable) {
list.add(k);
}
return list;
}
public static List sortedListCopy(final Iterable extends K> iterable) {
checkNotNull(iterable);
final List list = listCopy(iterable);
Collections.sort(list);
return list;
}
public static List sortedReversedListCopy(final Iterable extends K> iterable) {
checkNotNull(iterable);
final List list = sortedListCopy(iterable);
Collections.reverse(list);
return list;
}
public static List sortedListCopy(final Iterable extends K> iterable, final Comparator super K> comparator) {
checkNotNull(iterable);
checkNotNull(comparator);
final List list = listCopy(iterable);
Collections.sort(list, comparator);
return list;
}
public static List sortedReversedListCopy(final Iterable extends K> iterable, final Comparator super K> comparator) {
checkNotNull(iterable);
checkNotNull(comparator);
final List list = sortedListCopy(iterable, comparator);
Collections.reverse(list);
return list;
}
public static int size(final Iterable extends K> iterable) {
checkNotNull(iterable);
if (iterable instanceof Collection) {
return ((Collection) iterable).size();
} else {
int size = 0;
final Iterator iterator = iterable.iterator();
while (iterator.hasNext()) {
++size;
iterator.next();
}
return size;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy