En utilisant un comparateur et un itérateur, j'essaie d'ajouter des objets dans une liste chaînée dans l'ordre. Jusqu'à présent, je donne les résultats suivants:Comment ajouter un élément à une liste liée en Java?
public class ComparatorClass implements Comparator<Integer> {
public int compare(Integer int1, Integer int2) {
return int1.compareTo(int2);
}
}
et:
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
public class OrderedListInheritance implements LinkedList {
ArrayList<Object> myList = new ArrayList<Object>();
Comparator comp = new ComparatorClass();
OrderedListInheritance(Comparator c) {
this.comp = c;
}
@Override
public void add(Object o) {
addLast(o);
}
@Override
public void addAtIndex(int index, Object o) {
Iterator it = getIterator();
while (it.hasNext()) {
Object element = it.next();
if (comp.compare(element, o) < 0) {
}else if (comp.compare(element, o) == 0) {
}else{
myList.add(o);
}
}
}
@Override
public void addFirst(Object o) {
addAtIndex(0, o);
}
@Override
public void addLast(Object o) {
addAtIndex(myList.size(), o);
}
@Override
public Object get(int index) {
return myList.get(index);
}
@Override
public Iterator getIterator() {
Iterator iter = myList.iterator();
return iter;
}
@Override
public int indexOf(Object o) {
return myList.indexOf(o);
}
}
Je ne suis pas sûr comment utiliser le Iterator conjointement avec le comparateur pour ajouter chaque élément à la liste chaînée dans l'ordre. Quelqu'un peut-il m'aider avec la logique?
Il y a quelque chose de très étrange à propos de cette question. 1) LinkedList est une classe et non une interface. 2) Pourquoi implémenteriez-vous une "liste liée" en utilisant un ArrayList? Il n'aura pas les propriétés de calcul d'une vraie liste chaînée !!! –
Stephen C, que suggérez-vous que je l'implémente? – littleK