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

Method entryIterator

output/java_guava/1.4.18/Multisets.java:431–456  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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

Callers 2

distinctElementsMethod · 0.95
iteratorMethod · 0.45

Calls 2

iteratorMethod · 0.65
entrySetMethod · 0.65

Tested by

no test coverage detected