com.google.common.collect.Multiset.remove()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(5.9k)|赞(0)|评价(0)|浏览(161)

本文整理了Java中com.google.common.collect.Multiset.remove()方法的一些代码示例,展示了Multiset.remove()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Multiset.remove()方法的具体详情如下:
包路径:com.google.common.collect.Multiset
类名称:Multiset
方法名:remove

Multiset.remove介绍

[英]Removes a single occurrence of the specified element from this multiset, if present.

This method refines Collection#remove to further specify that it may not throw an exception in response to element being null or of the wrong type.
[中]从该多重集中删除指定元素的单个匹配项(如果存在)。
此方法细化了集合#remove,以进一步指定它不会在元素为null或类型错误时引发异常。

代码示例

代码示例来源:origin: google/guava

  1. @Override
  2. public int remove(Object o, int n) {
  3. synchronized (mutex) {
  4. return delegate().remove(o, n);
  5. }
  6. }

代码示例来源:origin: google/guava

  1. @Override
  2. public N removeInEdge(E edge, boolean isSelfLoop) {
  3. N node = super.removeInEdge(edge, isSelfLoop);
  4. Multiset<N> predecessors = getReference(predecessorsReference);
  5. if (predecessors != null) {
  6. checkState(predecessors.remove(node));
  7. }
  8. return node;
  9. }

代码示例来源:origin: google/guava

  1. @Override
  2. public N removeOutEdge(E edge) {
  3. N node = super.removeOutEdge(edge);
  4. Multiset<N> adjacentNodes = getReference(adjacentNodesReference);
  5. if (adjacentNodes != null) {
  6. checkState(adjacentNodes.remove(node));
  7. }
  8. return node;
  9. }

代码示例来源:origin: google/guava

  1. @Override
  2. public N removeOutEdge(E edge) {
  3. N node = super.removeOutEdge(edge);
  4. Multiset<N> successors = getReference(successorsReference);
  5. if (successors != null) {
  6. checkState(successors.remove(node));
  7. }
  8. return node;
  9. }

代码示例来源:origin: google/guava

  1. /** An implementation of {@link Multiset#setCount(Object, int)}. */
  2. static <E> int setCountImpl(Multiset<E> self, E element, int count) {
  3. checkNonnegative(count, "count");
  4. int oldCount = self.count(element);
  5. int delta = count - oldCount;
  6. if (delta > 0) {
  7. self.add(element, delta);
  8. } else if (delta < 0) {
  9. self.remove(element, -delta);
  10. }
  11. return oldCount;
  12. }

代码示例来源:origin: google/guava

  1. @Override
  2. public void remove() {
  3. checkRemove(canRemove);
  4. if (totalCount == 1) {
  5. entryIterator.remove();
  6. } else {
  7. multiset.remove(currentEntry.getElement());
  8. }
  9. totalCount--;
  10. canRemove = false;
  11. }
  12. }

代码示例来源:origin: google/guava

  1. @CanIgnoreReturnValue
  2. @Override
  3. public int remove(Object element, int occurrences) {
  4. return delegate().remove(element, occurrences);
  5. }

代码示例来源:origin: google/guava

  1. @CollectionFeature.Require(value = SUPPORTS_REMOVE, absent = ALLOWS_NULL_QUERIES)
  2. public void testRemove_nullForbidden() {
  3. try {
  4. getMultiset().remove(null, 2);
  5. fail("Expected NullPointerException");
  6. } catch (NullPointerException expected) {
  7. }
  8. }

代码示例来源:origin: google/guava

  1. @MapFeature.Require(SUPPORTS_REMOVE)
  2. public void testKeysRemove() {
  3. int original = multimap().keys().remove(k0(), 1);
  4. assertEquals(Math.max(original - 1, 0), multimap().get(k0()).size());
  5. }

代码示例来源:origin: google/guava

  1. @CollectionFeature.Require(absent = SUPPORTS_REMOVE)
  2. public void testRemoveUnsupported() {
  3. try {
  4. getMultiset().remove(e0(), 2);
  5. fail("Expected UnsupportedOperationException");
  6. } catch (UnsupportedOperationException expected) {
  7. }
  8. }

代码示例来源:origin: google/guava

  1. @CollectionFeature.Require(SUPPORTS_REMOVE)
  2. public void testRemove_occurrences_negative() {
  3. try {
  4. getMultiset().remove(e0(), -1);
  5. fail("multiset.remove(E, -1) didn't throw an exception");
  6. } catch (IllegalArgumentException required) {
  7. }
  8. }

代码示例来源:origin: google/guava

  1. @CollectionSize.Require(absent = ZERO)
  2. public void testEquals_differentElements() {
  3. Multiset<E> other = HashMultiset.create(getSampleElements());
  4. other.remove(e0());
  5. other.add(e3());
  6. assertFalse("multiset equals a multiset with different elements", getMultiset().equals(other));
  7. }

代码示例来源:origin: google/guava

  1. @CollectionFeature.Require(absent = SUPPORTS_REMOVE)
  2. public void testRemove_occurrences_unsupported_absent() {
  3. // notice: we don't care whether it succeeds, or fails with UOE
  4. try {
  5. assertEquals(
  6. "multiset.remove(absent, 2) didn't return 0 or throw an exception",
  7. 0,
  8. getMultiset().remove(e3(), 2));
  9. } catch (UnsupportedOperationException ok) {
  10. }
  11. }

代码示例来源:origin: google/guava

  1. @Override
  2. public int remove(@Nullable Object element, int occurrences) {
  3. checkNonnegative(occurrences, "occurrences");
  4. if (occurrences == 0) {
  5. return count(element);
  6. } else {
  7. return contains(element) ? unfiltered.remove(element, occurrences) : 0;
  8. }
  9. }
  10. }

代码示例来源:origin: google/guava

  1. @CollectionFeature.Require(SUPPORTS_REMOVE)
  2. public void testRemoveNegative() {
  3. try {
  4. getMultiset().remove(e0(), -1);
  5. fail("Expected IllegalArgumentException");
  6. } catch (IllegalArgumentException expected) {
  7. }
  8. expectUnchanged();
  9. }

代码示例来源:origin: google/guava

  1. public void testLinkedKeys() {
  2. Multimap<String, Integer> map = create();
  3. map.put("bar", 1);
  4. map.put("foo", 2);
  5. map.put("bar", 3);
  6. map.put("bar", 4);
  7. assertEquals("[bar=1, foo=2, bar=3, bar=4]", map.entries().toString());
  8. assertThat(map.keys()).containsExactly("bar", "foo", "bar", "bar").inOrder();
  9. map.keys().remove("bar"); // bar is no longer the first key!
  10. assertEquals("{foo=[2], bar=[3, 4]}", map.toString());
  11. }

代码示例来源:origin: google/guava

  1. @CollectionFeature.Require(SUPPORTS_REMOVE)
  2. public void testRemove_occurrences_0() {
  3. int oldCount = getMultiset().count(e0());
  4. assertEquals(
  5. "multiset.remove(E, 0) didn't return the old count",
  6. oldCount,
  7. getMultiset().remove(e0(), 0));
  8. }

代码示例来源:origin: google/guava

  1. public void testRemoveUnsupported() {
  2. Multiset<String> multiset = new NoRemoveMultiset<>();
  3. multiset.add("a");
  4. try {
  5. multiset.remove("a");
  6. fail();
  7. } catch (UnsupportedOperationException expected) {
  8. }
  9. assertTrue(multiset.contains("a"));
  10. }

代码示例来源:origin: google/guava

  1. @CollectionFeature.Require(SUPPORTS_REMOVE)
  2. public void testRemoveZeroNoOp() {
  3. int originalCount = getMultiset().count(e0());
  4. assertEquals("old count", originalCount, getMultiset().remove(e0(), 0));
  5. expectUnchanged();
  6. }

代码示例来源:origin: google/guava

  1. @CollectionSize.Require(absent = ZERO)
  2. @CollectionFeature.Require(SUPPORTS_REMOVE)
  3. public void testRemove_occurrences_present() {
  4. assertEquals(
  5. "multiset.remove(present, 2) didn't return the old count",
  6. 1,
  7. getMultiset().remove(e0(), 2));
  8. assertFalse(
  9. "multiset contains present after multiset.remove(present, 2)",
  10. getMultiset().contains(e0()));
  11. assertEquals(0, getMultiset().count(e0()));
  12. }

相关文章