Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitca2f908

Browse files
authored
Update Peeking Iterator.java
1 parentf937b5a commitca2f908

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

‎Medium/Peeking Iterator.java

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,35 @@
22
// https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html
33

44
classPeekingIteratorimplementsIterator<Integer> {
5-
IntegernextElement;
6-
Iterator<Integer>iterator;
5+
privateIterator<Integer>iterator;
6+
privateIntegertopElement;
7+
78
publicPeekingIterator(Iterator<Integer>iterator) {
89
// initialize any member here.
910
this.iterator =iterator;
10-
updateNext();
11-
}
12-
13-
privatevoidupdateNext() {
14-
nextElement =iterator.hasNext() ?iterator.next() :null;
11+
populateTopElement();
1512
}
16-
13+
1714
// Returns the next element in the iteration without advancing the iterator.
1815
publicIntegerpeek() {
19-
returnnextElement;
16+
returnthis.topElement;
17+
}
18+
19+
// hasNext() and next() should behave the same as in the Iterator interface.
20+
// Override them if needed.
21+
@Override
22+
publicIntegernext() {
23+
IntegernextValue =this.topElement;
24+
populateTopElement();
25+
returnnextValue;
26+
}
27+
28+
@Override
29+
publicbooleanhasNext() {
30+
returnthis.topElement !=null;
31+
}
32+
33+
privatevoidpopulateTopElement() {
34+
this.topElement =this.iterator.hasNext() ?this.iterator.next() :null;
2035
}
21-
22-
// hasNext() and next() should behave the same as in the Iterator interface.
23-
// Override them if needed.
24-
@Override
25-
publicIntegernext() {
26-
IntegerreturnValue =nextElement;
27-
updateNext();
28-
returnreturnValue;
29-
}
30-
31-
@Override
32-
publicbooleanhasNext() {
33-
returnnextElement !=null;
34-
}
3536
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp