|
@@ -301,5 +301,32 @@ public final class ListUtils {
|
|
|
while(iterator.hasNext()) { list.add(iterator.next()); }
|
|
while(iterator.hasNext()) { list.add(iterator.next()); }
|
|
|
return list;
|
|
return list;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public static <T> List<T> constCopy(Collection<? extends T> values) {
|
|
|
|
|
+ return new ConstList<T>(values);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public static class ConstList<T> extends AbstractList<T> {
|
|
|
|
|
+
|
|
|
|
|
+ private final Object[] array;
|
|
|
|
|
+
|
|
|
|
|
+ public ConstList(Collection<? extends T> values) {
|
|
|
|
|
+ this.array = values.toArray();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
|
|
+ public T get(int index) {
|
|
|
|
|
+ return (T)array[index];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public int size() {
|
|
|
|
|
+ return array.length;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
|
|
|
}
|
|
}
|