toString() Methode und ArrayList

josofa

Neues Mitglied
Hallo liebes Forum,

ich bin noch ziemlicher Java beginner und habe deshalb eine Frage an euch :)
Mein Problem: ich möchte eine aus einer ArrayList vom typ Komponent alle Einträge die keinen Eintrag haben, also leer sind herausfiltern bzw. löschen!

Ich habe das ganze nun mit einem Stringvergleich versucht, jedoch weiß ich nicht richtig, wie ich die toString() Methode für die ArrayList implementieren muss! --> Bei einer Ausgabe von irgendeinem Wert aus der Liste wird mir nur die Referenz geprintet! (adressbuch.components.Name@4c6dee26)

Java:
for (int i=0; i<list.size(); i++) {
            String s = list.get(i).toString();
            if(s == "") {
                list.remove(i);
            }
        }
Java:
public abstract class Komponent {
    
    
    protected String komponentenName;
    protected String komponentenWert;
    
    protected int komponentenPrio = 0;
    
    
    public static ArrayList<Komponent> availableComponents = new ArrayList<Komponent>(
            Arrays.asList(new Email("%"), new Geburtstag("%"), new Name("%")
            , new Notizen("%"), new Ort("%"), new Straße("%"), new Telefonnummer("%"), new Vorname("%"))
            );
    
    
    public Komponent(String komponentenWert)
    {
        this.setKomponentenWert((komponentenWert));
    }

    
    public String getKomponentenName() {
        return komponentenName;
    }

    public void setKomponentenName(String komponentenName) {
        this.komponentenName = komponentenName;
    }

    public String getKomponentenWert() {
        return komponentenWert;
    }

    public void setKomponentenWert(String komponentenWert) {
        this.komponentenWert = komponentenWert;
    }

    public int getKomponentenPrio() {
        return komponentenPrio;
    }

    public void setKomponentenPrio(int komponentenPrio) {
        this.komponentenPrio = komponentenPrio;
    }
    
    public static Komponent getKomponentByName(String name) throws NoSuchElementException
    {
        return Komponent.availableComponents.stream().filter(component -> component.komponentenName == name).findFirst().get();
    }
}

Hoffe ihr versteht mein Problem und könnt mir weiterhelfen!
Vielen Dank schonmal!
LG Josu
 
Zuletzt bearbeitet von einem Moderator:

kaoZ

Top Contributor
Du musst dementsprechend die toString() Methode in deiner Klasse überschreiben überschreiben, sprich du musst in deiner Klasse Komponente toString() so überschreiben das diese dir den gewünschten Wert/String liefert, welchen du dann per equals(String s) vergleichen kannst.


z.B
Java:
class Komponent{


@Override
public String toString()     {return komponentenName;}
}

wenn du die Standardimplementierung der ArrayList verwendest, dann wird dir lediglich die Position im Speicher, als String geliefert.

Du könntest auch beigehen und entweder equals(Object o) selber impelentieren und oder das Interface Comparable implementieren.

dann kannst du mit einer for-Schleife über die Liste iterieren und so schon alle "leeren" Komponenten entfernen oder in eine andere Liste verschieben.

Java:
public class Test{
	
	public static void main(String[] args){
		
		
		ArrayList<Komponente> l = new ArrayList<>();
		
		String[] rdms = {"Adam","Moritz","Peter","","Max"};
		
		for (int i = 0; i < rdms.length; i++) {
			l.add(new Test().new Komponente(rdms[i]));
		}
		
		for (int i = 0; i < l.size(); i++) {
			if(l.get(i).toString().equals("")) {
				l.remove(i);
			}
			System.out.println(l.toString());
		}
		
	}
	
	
	class Komponente{
		
		private String name;
		
		public Komponente(String n){
			name = n;
		}
		
		@Override
		public String toString(){
			return name;
		}
	}
}

oder per equals(Object o)

Java:
@Override
		public boolean equals(Object o){
			if(o == null) {
				return false;
			}
			if(o instanceof String) {
				return name.equals(o);
			}
			return false;
		}

...

		for (int i = 0; i < l.size(); i++) {
			if(l.get(i).equals("")) {
				l.remove(i);
			}
		}

ich persönlich würde mir ja direkt eine Methode erstellen, die deine Liste bei Ausführung direkt von "leeren" Komponenten reinigt ;)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Einrücken inner der toString()-Methode Java Basics - Anfänger-Themen 34
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
M Die Inhalte eines Arrays mit der Methode Arrays.toString ausgeben Java Basics - Anfänger-Themen 4
H toString-Methode Java Basics - Anfänger-Themen 24
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 13
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 1
V ToString-Methode mit JUnit testen(BlueJ) Java Basics - Anfänger-Themen 10
H Erste Schritte Arrayes.toString methode funktioniert nicht Java Basics - Anfänger-Themen 2
A Problem mit toString Methode Java Basics - Anfänger-Themen 8
T String toString methode nicht vererbt ... Java Basics - Anfänger-Themen 4
M Unbekannte Nummer bei Aufruf der toString Methode Java Basics - Anfänger-Themen 3
A ToString()-Methode richtig benutzen Java Basics - Anfänger-Themen 3
J Vererbung Überschriebene toString-Methode aufrufen Java Basics - Anfänger-Themen 10
P toString-Methode gibt immer null vor Variable aus Java Basics - Anfänger-Themen 9
B Methoden toString Methode mit Schlüsselwort new Java Basics - Anfänger-Themen 3
L toString()-Methode in verschieden Klassen Java Basics - Anfänger-Themen 3
R Frage zu statischer Methode toString() Java Basics - Anfänger-Themen 3
S Stack als verkettete liste/ toString methode Java Basics - Anfänger-Themen 3
F toString Methode ausgeben Java Basics - Anfänger-Themen 3
S toString-Methode für Map Java Basics - Anfänger-Themen 15
L OOP hilfe bei tostring methode Java Basics - Anfänger-Themen 6
D Frage zum Aufruf einer toString-Methode Java Basics - Anfänger-Themen 2
V toString()-Methode Java Basics - Anfänger-Themen 9
S PrintWriter-Probleme mit toString Methode->Person@17182c1 Java Basics - Anfänger-Themen 10
W LocalDate toString und nach Split falsch "erkannt"? Java Basics - Anfänger-Themen 8
W ArrayList und toString Java Basics - Anfänger-Themen 17
W toString bei composition Java Basics - Anfänger-Themen 4
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
M Polymorphie toString Java Basics - Anfänger-Themen 13
Y Wie kann ich ein Element in einer toString finden. Java Basics - Anfänger-Themen 2
P falscher booleanwert bei toString Java Basics - Anfänger-Themen 4
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
J Methoden toString()-Date Formatter Java Basics - Anfänger-Themen 8
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
E Vererbung mit toString() Java Basics - Anfänger-Themen 6
O Referenz - toString Java Basics - Anfänger-Themen 9
B toString mit optionaler Ausgabe überrschreiben Java Basics - Anfänger-Themen 5
C Methoden toString Java Basics - Anfänger-Themen 4
B toString() Dilemma Java Basics - Anfänger-Themen 7
D Arrays.toString spuckt null aus? Java Basics - Anfänger-Themen 3
S Methoden equals(object o) / toString Java Basics - Anfänger-Themen 15
K array in toString des objektes ausgeben Java Basics - Anfänger-Themen 1
Psypsy hashCode, equals und toString Java Basics - Anfänger-Themen 3
K toString() Java Basics - Anfänger-Themen 1
I Vererbung toString() Frage Java Basics - Anfänger-Themen 5
E Richtige Ausgabe nur mit toString() - Warum? Java Basics - Anfänger-Themen 4
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
J ArrayList toString() Übergabe Fehler Java Basics - Anfänger-Themen 2
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
A JList / toString modify Java Basics - Anfänger-Themen 2
M toString gibt "null" statt "0.0" aus Java Basics - Anfänger-Themen 5
M toString Java Basics - Anfänger-Themen 7
H Integer.toString(int i) vs. String.valueOf(int i) Java Basics - Anfänger-Themen 12
C Methoden String von einem toString() herauslesen Java Basics - Anfänger-Themen 2
B Wann toString() überschreiben? Java Basics - Anfänger-Themen 21
N .toString() und (string) Java Basics - Anfänger-Themen 2
S schwierigkeit mit in der verwaltungsklasse benutzen von toString() Java Basics - Anfänger-Themen 7
J Zweidimensionales Array durch ToString ausgeben lassen Java Basics - Anfänger-Themen 21
N Matrix an toString Java Basics - Anfänger-Themen 7
A Werteausgabe des Construktors mit toString Java Basics - Anfänger-Themen 2
D super.tostring Java Basics - Anfänger-Themen 8
A Stringarray toString Java Basics - Anfänger-Themen 5
S Escape Sequenz in der toString() ? Java Basics - Anfänger-Themen 4
A Arrays.asList(s).toString() ohne [] und , Java Basics - Anfänger-Themen 3
P toString Java Basics - Anfänger-Themen 4
M .toString(); // Ausgabe: Attribut von Vaterklasse Java Basics - Anfänger-Themen 12
K toString Java Basics - Anfänger-Themen 10
A Object -> String mit valueOf, toString oder cast ? Java Basics - Anfänger-Themen 6
R getClass und getName sowie toString Java Basics - Anfänger-Themen 10
D Arrays.toString problem Java Basics - Anfänger-Themen 2
D array.toString() wieso funktioniert es nicht Java Basics - Anfänger-Themen 4
D toString überschreiben + Exception werfen Java Basics - Anfänger-Themen 3
H toString / println Java Basics - Anfänger-Themen 2
H toString() erben? Java Basics - Anfänger-Themen 3
A Arrays.toString() ohne [ und ] Java Basics - Anfänger-Themen 2
K Arrays.toString(); funktioniert nicht Java Basics - Anfänger-Themen 4
A byte.toString() -> Datenmüll Java Basics - Anfänger-Themen 52
K Problem mit .toString und FileReader Java Basics - Anfänger-Themen 2
G toString Problem Java Basics - Anfänger-Themen 12
G Gregorian Calendar aus toString() Ausgabe wiederherstellen Java Basics - Anfänger-Themen 4
T Warum Fehlermeldung bei diesem ToString Programm? Java Basics - Anfänger-Themen 2
B toString Java Basics - Anfänger-Themen 5
S Was macht [Integer.toString(number, tarRadix)] Java Basics - Anfänger-Themen 3
G Probleme bei toString Überschreibung Java Basics - Anfänger-Themen 6
M int toString Datentypen Umwandeln, AnfängerProblem Java Basics - Anfänger-Themen 3
T keine Ausgabe von toString obwohl keine Fehlermeldung Java Basics - Anfänger-Themen 5
D ToString Java Basics - Anfänger-Themen 3
C Bedeutung von toString im Bezug auf Text Java Basics - Anfänger-Themen 4
N char[] aus JPasswordField toString() Java Basics - Anfänger-Themen 6
T Boolean toString ? Java Basics - Anfänger-Themen 3
H toString(); varargs; bitSet Java Basics - Anfänger-Themen 8
M getClass() und getClass().toString() Java Basics - Anfänger-Themen 4
P Vektor toString? Java Basics - Anfänger-Themen 2
S valueOf() vs. toString() Verwendung??? Java Basics - Anfänger-Themen 13
G Frage zur toString ? Java Basics - Anfänger-Themen 4
L .toString wieder rückgängig machen Java Basics - Anfänger-Themen 7
H Was ist toString ??? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben