Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class MergeIterator implements Iterator<Integer> {
- private List<Iterator<Integer>> iterators;
- private List<Integer> values;
- public MergeIterator (List<Iterator<Integer>> iterators) {
- this.iterators = iterators;
- this.values = new ArrayList<>();
- }
- @Override
- public boolean hasNext() {
- return false;
- }
- @Override
- public Integer next() {
- return foo();
- }
- private Integer foo(){
- if(values.size() == 0){
- for(Iterator<Integer> i : iterators){
- if(i.hasNext()){
- values.add(i.next());
- }
- }
- Collections.sort(values);
- }
- Integer result = values.get(0);
- values.remove(result);
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement