blob: 8d168fc7de64e918d524bd4f043963ba611a65f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package org.zwobble.couscous.util;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
public interface InsertionOrderSet<T> extends Iterable<T> {
static <T> InsertionOrderSet<T> copyOf(Iterable<T> iterable) {
List<T> list = StreamSupport.stream(iterable.spliterator(), false)
.distinct()
.collect(Collectors.toList());
return new InsertionOrderSet<T>() {
@Override
public List<T> asList() {
return list;
}
@Override
public Iterator<T> iterator() {
return list.iterator();
}
@Override
public boolean isEmpty() {
return list.isEmpty();
}
};
}
List<T> asList();
boolean isEmpty();
}
|