Skip to content

Commit 427d1d6

Browse files
committed
NestedIterator & RecursiveIterator: remove extra code, simplify a bit
1 parent 49ea65d commit 427d1d6

File tree

2 files changed

+6
-14
lines changed

2 files changed

+6
-14
lines changed

src/main/java/by/andd3dfx/iterators/NestedIterator.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,20 +73,16 @@ private Integer determineNextElement() {
7373
return result;
7474
}
7575

76-
if (stack.isEmpty()) {
77-
return null;
78-
}
79-
8076
while (!stack.isEmpty()) {
8177
Iterator<INestedInteger> iterator = stack.peek();
8278
if (iterator.hasNext()) {
8379
var next = iterator.next();
8480

85-
if (!next.isInteger()) {
81+
if (next.isInteger()) {
82+
return next.getInteger();
83+
} else {
8684
stack.push(next.getList().iterator());
8785
return determineNextElement();
88-
} else {
89-
return next.getInteger();
9086
}
9187
} else {
9288
stack.pop();

src/main/java/by/andd3dfx/iterators/RecursiveIterator.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,16 @@ private Object determineNextElement() {
4949
return result;
5050
}
5151

52-
if (stack.isEmpty()) {
53-
return null;
54-
}
55-
5652
while (!stack.isEmpty()) {
5753
Iterator<Object> iterator = stack.peek();
5854
if (iterator.hasNext()) {
5955
var next = iterator.next();
6056

61-
if (next instanceof Iterator) {
57+
if (next instanceof String) {
58+
return next;
59+
} else {
6260
stack.push((Iterator<Object>) next);
6361
return determineNextElement();
64-
} else {
65-
return next;
6662
}
6763
} else {
6864
stack.pop();

0 commit comments

Comments
 (0)