Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. @Override
  2. public synchronized T next1() {
  3. ElementWrapper<T> ew = minHeap.remove();
  4. addNextElementFromCurrentIterator(ew);
  5. T currentElement = ew.getElement();
  6. while(nextElementHasTheSameKey(currentElement)) {
  7. ElementWrapper<T> nextEw = minHeap.remove();
  8. addNextElementFromCurrentIterator(nextEw);
  9. currentElement = merge.apply(currentElement, nextEw.getElement());
  10. }
  11. return currentElement;
  12. }
  13.  
  14.  
  15. @Override
  16. public T next2() {
  17. T currentElement;
  18. List<ElementWrapper> elementsWithTheSameKey = new LinkedList<>();
  19. synchronized (this) {
  20. ElementWrapper<T> ew = minHeap.remove();
  21. addNextElementFromCurrentIterator(ew);
  22. currentElement = ew.getElement();
  23. while (nextElementHasTheSameKey(currentElement)) {
  24. ElementWrapper<T> nextEw = minHeap.remove();
  25. addNextElementFromCurrentIterator(nextEw);
  26. elementsWithTheSameKey.add(nextEw);
  27. }
  28. }
  29. for(ElementWrapper<T> ew : elementsWithTheSameKey) {
  30. currentElement = merge.apply(currentElement, ew.getElement());
  31. }
  32. return currentElement;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement