Bambino_Uno
Mitglied
Thread Starter
- Dabei seit
- 03.04.2007
- Beiträge
- 65
- Reaktionspunkte
- 0
Hallo Leute!
Ich beschäftige mich gerade mit dynamischen Arrays (ArrayList) und habe diesbezüglich eine Frage: kann man Arrayelemente wirklich löschen oder muss ich sie überschreiben. Um konkreter zu werden, hier der Code:
Nachdem die Namen der Liste hinzugefügt werden und diese in einen passenden Array umgewandelt wird, sollen Namen entfernt werden können. Ich hab´s mit:
// Elemente löschen
System.out.print("Welcher Name soll gelöscht werden?" );
delete=sc.next();
for(i=0; i<arraynamen.length;i++){
if(arraynamen.equals(delete)){
arraynamen=null;
}
}
versucht. Aber der zu löschende Name wurde lediglich mit 'null' überschrieben. Wie kann man ihn wirklich aus der Liste entfernen?
Vielen Dank schon mal im Voraus!
Ich beschäftige mich gerade mit dynamischen Arrays (ArrayList) und habe diesbezüglich eine Frage: kann man Arrayelemente wirklich löschen oder muss ich sie überschreiben. Um konkreter zu werden, hier der Code:
Code:
package komplexe_datenstrukturen;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class ArrayList3
{
public static void main(String[] args)
{
int i;
int j;
String delete;
Scanner sc = new Scanner(System.in);
String [] namen = new String[5];
String [] arraynamen;
List<String> list = new ArrayList<String>(Arrays.asList( new String[] {}));
System.out.println("Wieviele Namen sollen erfasst werden? ");
j= sc.nextInt();
for (i=0;i<j;i++){
System.out.println((i+1)+". Namen: ");
namen[i] = sc.next();
Collections.addAll( list, namen[i]);
Collections.sort( list );
}
System.out.println( list );
// Passenden Array generieren
arraynamen = new String[list.size()];
// Array füllen
for (i =0; i<arraynamen.length;i++){
arraynamen[i]=list.get(i);
}
// Ausgabe
for (i=0; i<arraynamen.length;i++){
System.out.println(arraynamen[i]);
}
// Elemente löschen
System.out.print("Welcher Name soll gelöscht werden?" );
delete=sc.next();
for(i=0; i<arraynamen.length;i++){
if(arraynamen[i].equals(delete)){
arraynamen[i]=null;
}
}
// neue Ausgabe
for (i=0; i<arraynamen.length;i++){
System.out.println(arraynamen[i]);
}
}
}
Nachdem die Namen der Liste hinzugefügt werden und diese in einen passenden Array umgewandelt wird, sollen Namen entfernt werden können. Ich hab´s mit:
// Elemente löschen
System.out.print("Welcher Name soll gelöscht werden?" );
delete=sc.next();
for(i=0; i<arraynamen.length;i++){
if(arraynamen.equals(delete)){
arraynamen=null;
}
}
versucht. Aber der zu löschende Name wurde lediglich mit 'null' überschrieben. Wie kann man ihn wirklich aus der Liste entfernen?
Vielen Dank schon mal im Voraus!