private static final class FilteredMultiset<E> extends ViewMultiset<E> { final Multiset<E> unfiltered; final Predicate<? super E> predicate; FilteredMultiset(Multiset<E> unfiltered, Predicate<? super E> predicate) { this.unfiltered = checkNotNull(unfiltered); this.predicate = checkNotNull(predicate); } @Override public UnmodifiableIterator<E> iterator() { return Iterators.filter(unfiltered.iterator(), predicate); } @Override Set<E> createElementSet() { return Sets.filter(unfiltered.elementSet(), predicate); } @Override Iterator<E> elementIterator() { throw new AssertionError("should never be called"); } @Override Set<Entry<E>> createEntrySet() { return Sets.filter( unfiltered.entrySet(), new Predicate<Entry<E>>() { @Override
Multiset<?> multisetToModify, Iterable<?> occurrencesToRemove) { if (occurrencesToRemove instanceof Multiset) { return removeOccurrences(multisetToModify, (Multiset<?>) occurrencesToRemove); } else { checkNotNull(multisetToModify);
public void testRemoveOccurrencesMultisetEmpty() { Multiset<String> multiset = HashMultiset.create(); Multiset<String> toRemove = HashMultiset.create(Arrays.asList("a", "b", "a")); assertFalse(Multisets.removeOccurrences(multiset, toRemove)); assertTrue(multiset.isEmpty()); }
public void testRemoveOccurrencesIterableEmpty() { Multiset<String> multiset = HashMultiset.create(); Iterable<String> toRemove = Arrays.asList("a", "b", "a"); assertFalse(Multisets.removeOccurrences(multiset, toRemove)); assertTrue(multiset.isEmpty()); }
public void testRemoveOccurrencesMultiset() { Multiset<String> multiset = TreeMultiset.create(Arrays.asList("a", "b", "a", "c")); Multiset<String> toRemove = HashMultiset.create(Arrays.asList("a", "b", "b")); assertTrue(Multisets.removeOccurrences(multiset, toRemove)); assertThat(multiset).containsExactly("a", "c").inOrder(); }
public void testRemoveOccurrencesMultisetIterable() { Multiset<String> multiset = TreeMultiset.create(Arrays.asList("a", "b", "a", "c")); List<String> toRemove = Arrays.asList("a", "b", "b"); assertTrue(Multisets.removeOccurrences(multiset, toRemove)); assertThat(multiset).containsExactly("a", "c").inOrder(); }
public void testRemoveEmptyOccurrencesMultiset() { Multiset<String> multiset = TreeMultiset.create(Arrays.asList("a", "b", "a")); Multiset<String> toRemove = HashMultiset.create(); assertFalse(Multisets.removeOccurrences(multiset, toRemove)); assertThat(multiset).containsExactly("a", "a", "b").inOrder(); }
public void testRemoveEmptyOccurrencesIterable() { Multiset<String> multiset = TreeMultiset.create(Arrays.asList("a", "b", "a")); Iterable<String> toRemove = ImmutableList.of(); assertFalse(Multisets.removeOccurrences(multiset, toRemove)); assertThat(multiset).containsExactly("a", "a", "b").inOrder(); }
Multiset<?> multisetToModify, Iterable<?> occurrencesToRemove) { if (occurrencesToRemove instanceof Multiset) { return removeOccurrences(multisetToModify, (Multiset<?>) occurrencesToRemove); } else { checkNotNull(multisetToModify);
Multiset<?> multisetToModify, Iterable<?> occurrencesToRemove) { if (occurrencesToRemove instanceof Multiset) { return removeOccurrences(multisetToModify, (Multiset<?>) occurrencesToRemove); } else { checkNotNull(multisetToModify);
Multiset<?> multisetToModify, Iterable<?> occurrencesToRemove) { if (occurrencesToRemove instanceof Multiset) { return removeOccurrences(multisetToModify, (Multiset<?>) occurrencesToRemove); } else { checkNotNull(multisetToModify);
Multiset<?> multisetToModify, Iterable<?> occurrencesToRemove) { if (occurrencesToRemove instanceof Multiset) { return removeOccurrences(multisetToModify, (Multiset<?>) occurrencesToRemove); } else { checkNotNull(multisetToModify);
public void testRemoveOccurrencesMultisetEmpty() { Multiset<String> multiset = HashMultiset.create(); Multiset<String> toRemove = HashMultiset.create(Arrays.asList("a", "b", "a")); assertFalse(Multisets.removeOccurrences(multiset, toRemove)); assertTrue(multiset.isEmpty()); }
private static ImmutableSortedSet<Method> findAllBenchmarkMethods(Class<?> benchmarkClass, Instrument instrument) throws InvalidBenchmarkException { ImmutableSortedSet.Builder<Method> result = ImmutableSortedSet.orderedBy( Ordering.natural().onResultOf(new Function<Method, String>() { @Override public String apply(Method method) { return method.getName(); } })); // use a TreeMultiset so iteration order is consistent no matter what order methods are added. Multiset<String> benchmarkMethodNames = TreeMultiset.create(); for (Method method : benchmarkClass.getDeclaredMethods()) { if (instrument.isBenchmarkMethod(method)) { method.setAccessible(true); result.add(method); benchmarkMethodNames.add(method.getName()); } } // remove all benchmark methods with unique names (i.e. counts of 1) Multisets.removeOccurrences(benchmarkMethodNames, HashMultiset.create(benchmarkMethodNames.elementSet())); if (!benchmarkMethodNames.isEmpty()) { throw new InvalidBenchmarkException( "Overloads are disallowed for benchmark methods, found overloads of %s in benchmark %s", benchmarkMethodNames.elementSet(), benchmarkClass); } return result.build(); } }
public void testRemoveOccurrencesMultiset() { Multiset<String> multiset = TreeMultiset.create(Arrays.asList("a", "b", "a", "c")); Multiset<String> toRemove = HashMultiset.create(Arrays.asList("a", "b", "b")); assertTrue(Multisets.removeOccurrences(multiset, toRemove)); assertThat(multiset).containsExactly("a", "c").inOrder(); }
Multisets.removeOccurrences(unfoldedTerms, fn.getTermFreqs());
public void testRemoveOccurrencesIterableEmpty() { Multiset<String> multiset = HashMultiset.create(); Iterable<String> toRemove = Arrays.asList("a", "b", "a"); assertFalse(Multisets.removeOccurrences(multiset, toRemove)); assertTrue(multiset.isEmpty()); }
public void testRemoveOccurrencesMultisetIterable() { Multiset<String> multiset = TreeMultiset.create(Arrays.asList("a", "b", "a", "c")); List<String> toRemove = Arrays.asList("a", "b", "b"); assertTrue(Multisets.removeOccurrences(multiset, toRemove)); assertThat(multiset).containsExactly("a", "c").inOrder(); }
public void testRemoveEmptyOccurrencesMultiset() { Multiset<String> multiset = TreeMultiset.create(Arrays.asList("a", "b", "a")); Multiset<String> toRemove = HashMultiset.create(); assertFalse(Multisets.removeOccurrences(multiset, toRemove)); assertThat(multiset).containsExactly("a", "a", "b").inOrder(); }
public void testRemoveEmptyOccurrencesIterable() { Multiset<String> multiset = TreeMultiset.create(Arrays.asList("a", "b", "a")); Iterable<String> toRemove = ImmutableList.of(); assertFalse(Multisets.removeOccurrences(multiset, toRemove)); assertThat(multiset).containsExactly("a", "a", "b").inOrder(); }