Skip to content

Commit f40db36

Browse files
committed
Simplify, and fix, MergerIterator
1 parent c7886c3 commit f40db36

File tree

2 files changed

+7
-15
lines changed

2 files changed

+7
-15
lines changed

src/main/java/com/fasterxml/sort/IteratingSorter.java

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -148,34 +148,27 @@ private static class MergerIterator<T> implements Iterator<T> {
148148
private final DataReader<T> _merger;
149149
private T _next;
150150

151-
private MergerIterator(DataReader<T> merger) {
151+
private MergerIterator(DataReader<T> merger) throws IOException {
152152
_merger = merger;
153-
}
154-
155-
private void prepNext() {
156-
if (_next != null) {
157-
try {
158-
_next = _merger.readNext();
159-
} catch (IOException e) {
160-
throw new IterableSorterException(e);
161-
}
162-
}
153+
_next = _merger.readNext();
163154
}
164155

165156
@Override
166157
public boolean hasNext() {
167-
prepNext();
168158
return (_next != null);
169159
}
170160

171161
@Override
172162
public T next() {
173-
prepNext();
174163
if (_next == null) {
175164
throw new NoSuchElementException();
176165
}
177166
T t = _next;
178-
_next = null;
167+
try {
168+
_next = _merger.readNext();
169+
} catch (IOException e) {
170+
throw new IterableSorterException(e);
171+
}
179172
return t;
180173
}
181174

src/test/java/com/fasterxml/sort/TestLargeSort.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,5 +80,4 @@ public void testLargeSort() throws IOException {
8080
sorter.sort(new StringGenerator(STRING_COUNT, STRING_LENGTH), counter);
8181
assertEquals("sorted count", STRING_COUNT, counter.getCount());
8282
}
83-
8483
}

0 commit comments

Comments
 (0)