A voir également:
- Classez ces fichiers de la plus petite taille (1) à la plus grande (4).
- Comment réduire la taille d'un fichier - Guide
- Forcer la suppression d'un fichier - Guide
- Ajoutez à la liste de contacts ana le goff, inscrite le 27 novembre 2015, dans la catégorie i. puis triez les contacts en les classant : par ordre alphabétique de leur nom de famille (critère principal), puis par date du plus récent au plus ancien (critère secondaire). quel mot apparaît à la verticale dans la colonne "catégorie" entre les lignes 200 et 209 (en-tête compris) ? ✓ - Forum Word
- Comment reduire la taille d'une photo - Guide
- Trier du plus petit au plus grand excel - Guide
2 réponses
Bonjour,
La classe ArrayList ne gère pas de taille maximum, mais tu peux créer ta propre classe qui ferait la même chose. Par exemple :
La classe ArrayList ne gère pas de taille maximum, mais tu peux créer ta propre classe qui ferait la même chose. Par exemple :
import java.util.*;
public class ArrayListWithLimit<E> {
private final ArrayList<E> innerList;
private int maxSize;
public ArrayListWithLimit(int maxSize) {
innerList = new ArrayList<>();
this.maxSize = maxSize;
}
public int size() {
return innerList.size();
}
public int getMaxSize() {
return maxSize;
}
public void setMaxSize(int maxSize) {
if (size() > maxSize)
throw new IllegalStateException("Can't set maxSize smaller than current size: " + size());
this.maxSize = maxSize;
}
public boolean add(E element) {
if (size() == getMaxSize())
throw new IllegalStateException("Can't add an element because maxSize is reached: " + getMaxSize());
return innerList.add(element);
}
public boolean addAll(Collection<? extends E> elements) {
if (size() + elements.size() > getMaxSize())
throw new IllegalStateException("Can't add all elements because maxSize would be exceeded: " + getMaxSize());
return innerList.addAll(elements);
}
public E remove(int index) {
return innerList.remove(index);
}
public E get(int index) {
return innerList.get(index);
}
public E set(int index, E element) {
return innerList.set(index, element);
}
@Override
public String toString() {
return innerList.toString();
}
@Override
public int hashCode() {
return innerList.hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
return innerList.equals(((LimitedList<?>) obj).innerList);
}
}