Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Filter Iterator
//'main' method must be in a class 'Rextester'. //Compiler version 1.8.0_111 import java.util.*; import java.lang.*; class Rextester { public static void main(String args[]) { List<Integer> l = Arrays.asList(1,2,3,4,5,6,7,8,9,10); FilterIterator<Integer> iter = new FilterIterator<>(l.iterator(), new Filter()); while (iter.hasNext()) System.out.println(iter.next()); } } class FilterIterator<T> implements Iterator<T> { Iterator<T> iter; Filter filter; T nextObj; public FilterIterator(Iterator<T> iter, Filter filter) { this.iter = iter; this.filter = filter; nextObj = null; } @Override public boolean hasNext() { while (nextObj == null && iter.hasNext()) { T candidate = iter.next(); if (filter.run(candidate)) { nextObj = candidate; break; } } return nextObj != null; } @Override public T next() { hasNext(); if (nextObj == null) throw new NoSuchElementException(); T tmp = nextObj; nextObj = null; return tmp; } } class Filter { public boolean run(Object i) { return ((Integer) i % 3) == 0; } }
run
|
edit
|
history
|
help
0
post decrement
클래스의 정의와 인스턴스 생성
4.a
jb11.0 threads tick tock 1.0
test no.1
test1
Size and signedness of Java ints and longs
Bubble Sort
Problem_binary
output2