Skip to content
Snippets Groups Projects
Commit 1fe6ff3c authored by Yanis O's avatar Yanis O
Browse files

Ajout d'un iterateur à Matrix

parent 9ab8fe6d
No related branches found
No related tags found
No related merge requests found
package util;
import java.util.ArrayList;
public class Matrix<E> {
import java.util.Iterator;
import java.util.NoSuchElementException;
public class Matrix<E> implements Iterable<E> {
private ArrayList<ArrayList<E>> matrix;
public Matrix() {
this.matrix = new ArrayList<ArrayList<E>>();
}
......@@ -9,13 +14,45 @@ public class Matrix<E> {
public E get(int x, int y) {
return matrix.get(x).get(y);
}
public E set(int x, int y, E object) {
return matrix.get(x).set(y, object);
}
public void clear() {
this.matrix = new ArrayList<ArrayList<E>>();
}
public int size() {
return matrix != null ? matrix.get(0).size() * matrix.size() : 0;
}
@Override
public Iterator<E> iterator() {
return new MatrixIterator();
}
private class MatrixIterator implements Iterator<E> {
private int row = 0;
private int col = 0;
@Override
public boolean hasNext() {
return row < matrix.size() && col < matrix.get(row).size();
}
@Override
public E next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
E element = matrix.get(row).get(col);
col++;
if (col >= matrix.get(row).size()) {
col = 0;
row++;
}
return element;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment