質問

うべきであるremovalAllOccuring(コレクション)(similiar)メソッドMultiset.一種のアナログ remove(Object,int)removeAll(Collection).短の方法は、何が最良の方法を達成するために意図するだけでも構いません。書いた小さな程度php,c#,dにドライバの証明:

/**
 * @see http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Multiset.html
 * @see http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/HashMultiset.html  
 */
@Test
public void testBag() {
    Multiset<String> bag1 = HashMultiset.create();
    bag1.add("a", 2);
    bag1.add("b", 3);
    bag1.add("c", 3);

    logger.debug(bag1);
    Multiset<String> bag1Copy = HashMultiset.create(bag1);

    Multiset<String> bag2 = ImmutableMultiset.of("a","b","b","b","c","c");
    Multiset<String> expected = ImmutableMultiset.of("a","c");

    for( String el :  bag2.elementSet() ) {
        bag1.remove( el, bag2.count(el));
    } // end for

    Assert.assertEquals(expected, bag1);

    bag1Copy.removeAll(bag2);
    logger.debug( bag1Copy );
}

出力:

[b x 3, c x 3, a x 2]
[]

私の考えがある場合がございまするものであるということについて私の欠損につながること/も以上にループは、コレクションの撤廃されなければなりません。まことに注意してくださってますので、ご利用の場合、収集削除するには List

役に立ちましたか?

解決

あいこなった。:(内部(Google)機能の要求、その他の類似の方法としてstaticメソッドのMultisetsを行っています。-ように頑張っておきたいところで貼り付け、外部から可視機能の要求ができるの意見です。

編集: って受け入れその他の種類のコレクションのほかMultisetとしてのパラメータのような方法です。ています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top