spelhelper/src/main/java/net/abhinavsarkar/spelhelper/ImplicitMethods.java

40 lines
1.2 KiB
Java
Raw Normal View History

2010-05-26 19:00:31 +05:30
package net.abhinavsarkar.spelhelper;
import static java.util.Collections.unmodifiableList;
import static java.util.Collections.unmodifiableSet;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
final class ImplicitMethods {
public static <T> Set<T> distinct(final List<? extends T> list) {
2010-05-26 19:22:11 +05:30
return unmodifiableSet(new HashSet<T>(list));
2010-05-26 19:00:31 +05:30
}
public static <T extends Comparable<? super T>> List<T> sorted(
2010-05-26 19:22:11 +05:30
final List<? extends T> list) {
List<T> temp = new ArrayList<T>(list);
Collections.sort(temp);
return unmodifiableList(temp);
2010-05-26 19:00:31 +05:30
}
public static <T> List<T> reversed(final List<? extends T> list) {
2010-05-26 19:22:11 +05:30
List<T> temp = new ArrayList<T>(list);
Collections.reverse(temp);
return unmodifiableList(temp);
2010-05-26 19:00:31 +05:30
}
public static <T> List<T> take(final List<T> list, final int n) {
2010-05-26 19:22:11 +05:30
return unmodifiableList(list.subList(0, n));
2010-05-26 19:00:31 +05:30
}
public static <T> List<T> drop(final List<T> list, final int n) {
2010-05-26 19:22:11 +05:30
return unmodifiableList(list.subList(n, list.size()));
2010-05-26 19:00:31 +05:30
}
}