MCPcopy Create free account
hub / github.com/antlr/codebuff / entryIterator

Method entryIterator

output/java_guava/1.4.19/Multisets.java:430–455  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

428 }
429
430 @Override
431 Iterator<Entry<E>> entryIterator() {
432 final Iterator<? extends Entry<? extends E>> iterator1 = multiset1.entrySet().iterator();
433 final Iterator<? extends Entry<? extends E>> iterator2 = multiset2.entrySet().iterator();
434 // TODO(lowasser): consider making the entries live views
435 return new AbstractIterator<Entry<E>>() {
436 @Override
437 protected Entry<E> computeNext() {
438 if (iterator1.hasNext()) {
439 Entry<? extends E> entry1 = iterator1.next();
440 E element = entry1.getElement();
441 int count = Math.max(entry1.getCount(), multiset2.count(element));
442 return immutableEntry(element, count);
443 }
444
445 while (iterator2.hasNext()) {
446 Entry<? extends E> entry2 = iterator2.next();
447 E element = entry2.getElement();
448 if (!multiset1.contains(element)) {
449 return immutableEntry(element, entry2.getCount());
450 }
451 }
452 return endOfData();
453 }
454 };
455 }
456
457 @Override
458 int distinctElements() {

Callers 2

distinctElementsMethod · 0.95
iteratorMethod · 0.45

Calls 2

iteratorMethod · 0.65
entrySetMethod · 0.65

Tested by

no test coverage detected