class Vector2D {
private List<Integer> flattenVec;
private int index;
public Vector2D(int[][] vec) {
flattenVec = new ArrayList<>();
for (int i = 0; i < vec.length; i++) {
for (int j = 0; j < vec[i].length; j++) {
flattenVec.add(vec[i][j]);
}
}
index = 0;
}
public int next() {
int val = flattenVec.get(index);
index ++;
return val;
}
public boolean hasNext() {
return index < flattenVec.size();
}
}
/**
* Your Vector2D object will be instantiated and called as such:
* Vector2D obj = new Vector2D(vec);
* int param_1 = obj.next();
* boolean param_2 = obj.hasNext();
*/