Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss.
Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern erhält. UML-Diagramm Benutzerverwaltung - benutzerliste: List<Benutzer> + zeigeinhalte() + sucheperson(pgesuchtername: String) + hintenhinzufügen(pneuerbenutzer: Benutzer) + vornehinzufügen(pneuerbenutzer: Benutzer) + fuegevorpersonxein(...) + letzenbenutzerloeschen() + erstenbenutzerloeschen() + löscheperson(pgesuchtername: String) + aktualisierebenutzer(pneuername: String): void + pruefereihenfolge(): boolean Benutzer - name: String - vorname: String - wohntort: String Liste erzeugen, in denen Benutzer gespeichert werden können private List<Benutzer> benutzerliste = new List<Benutzer>() ; Liste komplett durchlaufen: public void zeigeinhalte() //geht an den Anfang der Liste while (benutzerliste.hasaccess()) // solange noch Elemente vorhanden sind Benutzer aktuellerbenutzer= ( benutzerliste.getcontent()) //hole den aktuellen Benutzer System.our.println(aktuellerBenutzer.getName(); // gibt den Namen des Benutzers aus // gehe zum nächsten Benutzer
Liste bis zu einer bestimmten Person durchlaufen (zwei Varianten) Hier: Liste bis zu der Person mit dem Nachnamen "Müller" durchlaufen und alle Daten der Person ausgeben public void sucheperson(string pgesuchtername) //geht an den Anfang der Liste while (benutzerliste.hasaccess() // solange noch Elemente vorhanden sind Benutzer aktuellerbenutzer= ( benutzerliste.getcontent()) //hole den aktuellen Benutzer if(aktuellerbenutzer.getname() == pgesuchtername) // hat der aktuelle Benutzer den gesuchten Namen? System.our.println(aktuellerBenutzer.getVorname()) //gibt den Vornamen des gesuchten Benutzers aus System.our.println(aktuellerBenutzer.getName(); //gibt den Namen des gesuchten Benutzers aus System.our.println(aktuellerBenutzer.getWohnort()) // gehe zum nächsten Benutzer oder etwas eleganter: public void sucheperson(string pgesuchtername) while (benutzerliste.hasaccess() && ( benutzerliste.getcontent().getname()!= pgesuchtername) if(benutzerliste.hasaccess()) Benutzer gefundenerbenutzer= ( benutzerliste.getcontent()) System.our.println(gefundenerBenutzer.getVorname()) System.our.println(gefundenerBenutzer.getName(); System.our.println(gefundenerBenutzer.getWohnort())
Hinzufügen Am Ende hinzufügen public void hintenhinzufügen(benutzer pneuerbenutzer) benutzerliste. ; //Hier passende Methode der Benutzerliste aufrufen Vorne hinzufügen public void vornehinzufügen(benutzer pneuerbenutzer) An eine bestimmte Stelle einfügen Z.B. Füge die neue Person vor die Person ein, die den Namen Hans hat. Falls es keine Person mit den Namen Hans gibt, so füge die neue Person ganz am Ende ein. public void fuegevorpersonxein(string pneueperson) while (benutzerliste.hasaccess() && (benutzerliste.getcontent().getname()!="hans") solange noch nicht am Ende angekommen if (benutzerliste.hasaccess()) //es gibt eine Person mit dem Namen Hans, vor die eingefügt werden kann benutzerliste.insert(pneueperson); //füge Person vor dem aktuellen Objekt (hier Hans) ein. else benutzerliste.append(pneueperson); //füge ganz am Ende ein und solange der aktuelle Benutzer nicht Hans heißt
Löschen Am Ende löschen public void letzenbenutzerloeschen(benutzer pneuerbenutzer) Vorne Löschen public void erstenbenutzerloeschen(benutzer pneuerbenutzer) Ein bestimmtes Objekt löschen Hier: Löschen des Benutzers mit dem Namen pgesuchtername public void löscheperson (String pgesuchtername) while (benutzerliste.hasaccess() Benutzer aktuellerbenutzer= ( benutzerliste.getcontent()) if(aktuellerbenutzer.getname() == pgesuchtername) //hat der aktuelle Benutzer den gesuchten Namen? benutzerliste.remove(); //löschen des Benutzers oder eleganter: public void löscheperson(string pgesuchtername) while (benutzerliste.hasaccess() && ( benutzerliste.getcontent()).getname()!= pgesuchtername) benutzerliste.remove(); solange noch nicht am Ende angekommen und solange der aktuelle Benutzer nicht den gesuchten Namen hat
Aktualisieren public void aktualisierebenutzer(string paltername, String pneuername) //zum gesuchten Benutzer laufen while(benutzerliste.hasaccess() && benutzerliste.getcontent().getname()!=paltername) if(benutzerliste.hasaccess()) // gibt es den gesuchten Benutzer? benutzerliste.getcontent().setname(pneuername); Benutzer gespeicherterbenutzer = benutzerliste.getcontent(); benutzerliste.remove(); //Person wieder passend in die Liste einfügen while(benutzerliste.hasaccess() && benutzerliste.getcontent().getname()<gespeicherterbenutzer.getname()) if (benutzerliste.hasaccess()) benutzerliste.insert(gespeicherterbenutzer else benutzerliste.append(pneueperson); //if Abfrage beenden //Methode beenden
Reihenfolge prüfen public boolean pruefereihenfolge() Benutzer vorherigerbenutzer=benutzerliste.getcontent(); while(benutzerliste.hasaccess()) if(vorherigerbenutzer.getname()<benutzerliste.getcontent().getname()) //stimmt Reihenfolge? //Reihenfolge stimmt vorherigerbenutzer= benutzerliste.getcontent(); else return false; return true;