ho un compito a casa dove ho bisogno di inserire o aggiungere nuovi elemment in ArrayList<Interger>
con condizioni seguenti:Inserire elemento da ArrayList con ordine crescente e senza elementi duplicati
elemento deve ordine crescente.
Nessun duplicati elementi nel metodo
ArrayList<Integer>
inserto corsa in O (n) volte.
Ecco il mio metodo di inserimento per verificare l'elemento duplicato prima di aggiungere un nuovo elemento.
public void insert(int x){
//effect: Check duplicate elements if not x to the elements;
boolean found = false;
if(super.size()!=0){
for(int i=0; i<super.size(); i++){
if(super.get(i)==x){
found = true;
}
}
}
if(found){ return; }
else{ super.add(x); }
}
come posso fare? Grazie.
Inoltre
ecco la mia nomi delle classi InSetExtra
public class IntSetExtra extends ArrayList<Integer> {
private static final long serialVersionUID = 1L;
public IntSetExtra(){
super();
}
public void insert(int x){
//effect: Check duplicate elements if not x to the elements;
boolean found = false;
if(super.size()!=0){
for(int i=0; i<super.size(); i++){
if(super.get(i)==x){
found = true;
}
}
}
if(found){ return; }
else{ super.add(x); }
}
public String toString(){
//effect: return string of this.
if(super.size()==0) return "[]";
String s = "[" + super.get(0).toString();
for(int i=1; i<super.size(); i++){
s += ", " + super.get(i).toString();
}
return s += "]";
}
}
e ho bisogno di inserire una grande dimensione di elementi, ad esempio:
IntSetExtra a, b;
a = new IntSetExtra();
b = new IntSetExtra();
for(int i=0; i<30000; i++){ a.insert(2*i); }
for(int i=0; i<30000; i++){ a.insert(i); }
System.out.println("a sub = "+a.toString().substring(0, 37));
cosa devo fare?
ps. il mio istruttore deve utilizzare solo ArrayList
c'è qualche motivo per farlo da ArrayList? perché non impostare? – mhshams
Non è necessario aggiungere 'super' alle chiamate al metodo (in questa situazione) – Ishtar