com.google.common.collect.Multiset#setCount ( )源码实例Demo

下面列出了com.google.common.collect.Multiset#setCount ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: gef   文件: BindingUtils.java
@Override
public void onChanged(Change<? extends E> change) {
	// This cast is safe, as a
	// UnidirectionalSetMultimapContentBinding<K, V> will only be used
	// for a SetMultimap<K, V>.
	while (change.next()) {
		final Multiset<E> destination = multisetRef.get();
		if (destination == null) {
			change.getMultiset().removeListener(this);
		} else {
			// we use replaceValues() to perform an atomic change here
			// (and
			// thus don't use the added and removed values from the
			// change)
			destination.setCount(change.getElement(),
					destination.count(change.getElement()),
					destination.count(change.getElement())
							+ change.getAddCount()
							- change.getRemoveCount());
		}
	}
}
 
源代码2 项目: pyramid   文件: NgramEnumerator.java
private static void add(List<String> source, Multiset<Ngram> multiset, String field, int slop, List<Integer> template){
    Multiset<Ngram> multiSetForDoc = ConcurrentHashMultiset.create();
    for (int i=0;i<source.size();i++){
        if(i+template.get(template.size()-1)<source.size()){
            List<String> list = new ArrayList<>();
            for (int j: template){
                list.add(source.get(i+j));
            }
            Ngram ngram = new Ngram();
            ngram.setNgram(Ngram.toNgramString(list));
            ngram.setSlop(slop);
            ngram.setField(field);
            ngram.setInOrder(true);
            multiSetForDoc.setCount(ngram,1);
        }
    }
     multiset.addAll(multiSetForDoc);
}
 
源代码3 项目: gef   文件: MultisetExpression.java
@Override
public boolean setCount(E element, int oldCount, int newCount) {
	final Multiset<E> multiset = get();
	return (multiset == null)
			? EMPTY_MULTISET.setCount(element, oldCount, newCount)
			: multiset.setCount(element, oldCount, newCount);
}
 
源代码4 项目: gef   文件: BindingUtils.java
@Override
public void onChanged(Change<? extends E> change) {
	if (!updating) {
		final ObservableMultiset<E> multiset1 = multiset1Ref.get();
		final ObservableMultiset<E> multiset2 = multiset2Ref.get();
		if ((multiset1 == null) || (multiset2 == null)) {
			if (multiset1 != null) {
				multiset1.removeListener(this);
			}
			if (multiset2 != null) {
				multiset2.removeListener(this);
			}
		} else {
			try {
				updating = true;
				final Multiset<E> destination = multiset1 == change
						.getMultiset() ? multiset2 : multiset1;
				// we use replaceValues() to perform an atomic change
				// here (and thus don't use the added and removed values
				// from the change)
				while (change.next()) {
					destination.setCount(change.getElement(),
							destination.count(change.getElement()),
							destination.count(change.getElement())
									+ change.getAddCount()
									- change.getRemoveCount());
				}
			} finally {
				updating = false;
			}
		}
	}
}
 
private static PartialCreditTriplet partialCompare(LogicalExpression gold,
		LogicalExpression label) {
	final Multiset<Pair<? extends LogicalExpression, ? extends LogicalExpression>> goldPairs = GetPredConstPairs
			.of(gold);
	final Multiset<Pair<? extends LogicalExpression, ? extends LogicalExpression>> labelPairs;
	if (label == null) {
		labelPairs = HashMultiset.create();
	} else {
		labelPairs = GetPredConstPairs.of(label);
	}

	// The "intersection" of the gold and label pair sets = the number of
	// matches
	final Multiset<Pair<? extends LogicalExpression, ? extends LogicalExpression>> intersection = HashMultiset
			.create();

	for (final Entry<Pair<? extends LogicalExpression, ? extends LogicalExpression>> entry : goldPairs
			.entrySet()) {
		intersection.setCount(
				entry.getElement(),
				Math.min(entry.getCount(),
						labelPairs.count(entry.getElement())));
	}

	return new PartialCreditTriplet(goldPairs.size(), labelPairs.size(),
			intersection.size());
}
 
源代码6 项目: gef   文件: MultisetExpression.java
@Override
public int setCount(E element, int count) {
	final Multiset<E> multiset = get();
	return (multiset == null) ? EMPTY_MULTISET.setCount(element, count)
			: multiset.setCount(element, count);
}
 
源代码7 项目: tutorials   文件: GuavaMultiSetUnitTest.java
@Test
public void givenMultiSet_whenSetCount_shouldReturnCorrectCount() {
    Multiset<String> bookStore = HashMultiset.create();
    bookStore.setCount("Potter", 50);
    assertThat(bookStore.count("Potter")).isEqualTo(50);
}