+import java.util.Comparator;
-class Image extends Forme implements Compactable {
+@ClassPreamble (
+ author = "Jérôme Benoit",
+ date = "09/11/2009"
+)
+public class Image extends Forme implements Compactable,
+ Comparable<Image>,
+ Comparator<Image> {
final int IMAGE_MAX_SIZE = 100;
Forme[] formeCollection;
int formeNumber;
formeNumber = 0;
}
+ public int getSize() {
+ return formeNumber;
+ }
+
private boolean isEmpty() {
return (formeNumber == 0);
}
}
public void compacter(int nElements) {
- int minIndex = formeNumber - nElements - 1;
+ // Heavy solution
+ /* int minIndex = formeNumber - nElements - 1;
for (int i = formeNumber - 1; (i > minIndex && !isEmpty()); i--) {
supprimer(i);
+ } */
+ // Lightweight solution
+ if (formeNumber - nElements > 0) {
+ formeNumber -= nElements;
+ } else {
+ formeNumber = 0;
}
}
+ public int compareTo(Image image) {
+ return formeNumber - image.getSize();
+ }
+
+ public int compare(Image image1, Image image2) {
+ return (int)(image1.getpOri().getY() - image2.getpOri().getY());
+ }
+
}