@Override public HashSet<T> distinctBy(Comparator<? super T> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return HashSet.ofAll(iterator().distinctBy(comparator)); }
@Override public <U> LinkedHashSet<T> distinctBy(Function<? super T, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return LinkedHashSet.ofAll(iterator().distinctBy(keyExtractor)); }
@Override public LinkedHashSet<T> distinctBy(Comparator<? super T> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return LinkedHashSet.ofAll(iterator().distinctBy(comparator)); }
static <K, V, U, M extends Map<K, V>> M distinctBy( M map, OfEntries<K, V, M> ofEntries, Function<? super Tuple2<K, V>, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return ofEntries.apply(map.iterator().distinctBy(keyExtractor)); }
@Override public <U> HashSet<T> distinctBy(Function<? super T, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return HashSet.ofAll(iterator().distinctBy(keyExtractor)); }
static <K, V, M extends Map<K, V>> M distinctBy(M map, OfEntries<K, V, M> ofEntries, Comparator<? super Tuple2<K, V>> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return ofEntries.apply(map.iterator().distinctBy(comparator)); }
@SuppressWarnings("unchecked") @Override public M distinctBy(Comparator<? super Tuple2<K, V>> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return (M) (isEmpty() ? this : createFromEntries(iterator().distinctBy(comparator))); }
@Override public PriorityQueue<T> distinctBy(Comparator<? super T> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return isEmpty() ? this : ofAll(comparator, iterator().distinctBy(comparator)); }
@Override public <U> PriorityQueue<T> distinctBy(Function<? super T, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return isEmpty() ? this : ofAll(comparator, iterator().distinctBy(keyExtractor)); }
@SuppressWarnings("unchecked") @Override public <U> M distinctBy(Function<? super Tuple2<K, V>, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return (M) (isEmpty() ? this : createFromEntries(iterator().distinctBy(keyExtractor))); }
@Override public <U> BitSet<T> distinctBy(Function<? super T, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return isEmpty() ? this : createFromAll(iterator().distinctBy(keyExtractor)); }
@Override public BitSet<T> distinctBy(Comparator<? super T> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return isEmpty() ? this : createFromAll(iterator().distinctBy(comparator)); }
@Override public <U> TreeSet<T> distinctBy(Function<? super T, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return isEmpty() ? this : TreeSet.ofAll(tree.comparator(), iterator().distinctBy(keyExtractor)); }
@Override public TreeSet<T> distinctBy(Comparator<? super T> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return isEmpty() ? this : TreeSet.ofAll(tree.comparator(), iterator().distinctBy(comparator)); }
static <K, V, M extends Map<K, V>> M distinctBy(M map, OfEntries<K, V, M> ofEntries, Comparator<? super Tuple2<K, V>> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return ofEntries.apply(map.iterator().distinctBy(comparator)); }
@Override public <U> LinkedHashSet<T> distinctBy(Function<? super T, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return LinkedHashSet.ofAll(iterator().distinctBy(keyExtractor)); }
@Override public HashSet<T> distinctBy(Comparator<? super T> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return HashSet.ofAll(iterator().distinctBy(comparator)); }
@Override public <U> BitSet<T> distinctBy(Function<? super T, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return isEmpty() ? this : createFromAll(iterator().distinctBy(keyExtractor)); }
@SuppressWarnings("unchecked") @Override public <U> M distinctBy(Function<? super Tuple2<K, V>, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor, "keyExtractor is null"); return (M) (isEmpty() ? this : createFromEntries(iterator().distinctBy(keyExtractor))); }
@Override public TreeSet<T> distinctBy(Comparator<? super T> comparator) { Objects.requireNonNull(comparator, "comparator is null"); return isEmpty() ? this : TreeSet.ofAll(tree.comparator(), iterator().distinctBy(comparator)); }