Listen | und einige Methoden für Listen

Status
Nicht offen für weitere Antworten.

T-Bone

Mitglied
Hey Folks,
Bin noch nicht lange dabei. Darum entschuldigt, die vielleicht doch recht einfachen Fragen, die ich stelle.

Im Moment Bastel ich mir gerade eine Art Artikellager in Form einer Liste.

Unterbringen will ich
ANummer, AName, AAnzahl.

Schwierigkeiten macht mir die Methode "zaehlen", die am Kopf der Liste starten soll, und bis zum Fuss durchlaufen soll, um dabei zu zählen, wie viele Artikel sich dadrin befinden:

Code:
    int zaehlen () {
        Artikel temp=Kopf; int nichts=0;
        for (int i=0; i<=100; i++){
            if(temp==Kopf && temp==Fuss){
                i=1;
//                return i;
            }
            else if(temp!=Kopf && temp!=Fuss){
                temp=temp.Nf;
            }
            else if(temp!=Kopf && temp==Fuss){
                i=i;
            }
//            return i;
        }
        return 0;
    }

Zuerst schien es zu funktionieren, bis auf das es mir immer die Werte n-1 geliefert hat. Sprich immer einen weniger, als tatsächlich in der Liste waren. Nachdem ich noch etwas rumprobiert hatte zeigt er mir nun nur noch eine "0" an.

Über ein konstruktives Feedback würde ich mich sehr freuen.
Ich bedanke mich schonmal im Vorraus :)
Gruss Timo
 

byte

Top Contributor
Warum packst Du nicht einfach alle Artikel in eine (Java-) Liste? Dann ist es denkbar einfach, die Anzahl der Artikel zu bestimmen:

Code:
list.size()

Siehe dazu: Das Java Collection Framework


Ansonsten finde ich Deine Lösung sehr merkwürdig. Warum benutzt Du eine For-Schleife, die bis 100 läuft, obwohl Du die Anzahl der Artikel gar nicht kennst?

Ich würde das eher so lösen (ungetestet und nur als Denkansatz gedacht!!):

Code:
Artikel first...;
Artikel last...;
Artikel current = first;
int anz = 1;

while (current != last) {
  current = current.next();
  anz++;
}

return anz;
 
B

bygones

Gast
noch einfacher wäre es - wie es auch im Collection Framework gemacht wird - einfach einen Variabe size z.b. zu haben, die bei einem einfügen erhöht wird und beim entfernen erniedrigt, die methode zaehlen gibt dann einfach immer diese variable zurück
 

T-Bone

Mitglied
Also das mit dem 'Collection Framework' hab ich mir mal angesehen. Muss aber sagen, das wir soweit in unserem Skript noch gar nicht sind. Und bis zu der Prüfung will ich lieber das vertiefen, was ich kenne, als das ich was neues versuche. Allerdings werde ich in die Richtung arbeiten, sobald ich den Stress von der Klausur hintermich gebracht habe :)

Das mit der if schleife die nur bis 100 zählt war bloß ein test, da ich eh nicht über diese Zahl kommen werde. Habe jetzt die whileSchleife implementiert. Und es ist wieder das gleiche Problem aufgetreten, dass ich immer n-1 angezeigt bekomme

Brauche ich denn gar keine Abfrage mehr (wie bei der if schleife), ob temp==kopf==fuss ist ?!?!

Code:
    int zaehlen () {
        Artikel temp=Kopf; int n=1;   //n muss bei 1 starten oder ?!
        if(temp.Artikelnummer==0){n=0;}
        while (temp != Fuss) {
            temp = temp.Nf;
            n++;
        }
        return n;
    }
Er müsste jetzt so lange ein Element weiterspringen, bis er am Letzten angelangt ist, und dann "return n;"

:)
 

byte

Top Contributor
Die Abbruchbedingung steckt ja in der Schleife. Sobald temp = fuss ist, wird die Schleife gar nicht mehr aufgerufen. Das bedeutet allerdings auch, dass das letzte Element (fuss) gar nicht mehr mitgezählt wird. daher muss du vor dem return noch +1 rechnen (für das fuss element). Dann stimmts auch.

Würde aber über deathbyaclowns Tipp nachdenken. Ist die wesentlich performantere Lösung.
 

T-Bone

Mitglied
Die Sach ist, dass ich noch nicht so einen Überblick habe, um alles richtig einzuschätzen.

Ich hatte bis jetzt zu tun mit:
- Schleifen
- Arrays
- Klassen und Objekten
- Methoden - Konstruktoren
- Listen | Bäumen
- Vererbung von Klassen (Ober Unterklassen
- Abstrakte Klassen
- Interfaces

Ich weiss nicht wann ich "weit" genug wär um das Thema "Collectionn Framework" anzufangen. Zu welchem zeitpubkt habt ihr euch das Thema vorgeknüpft ?!
Da es mich aber schon reizt, werd ichs wohl nach den Prüfungen mal anfangen.
:)
 

SamHotte

Top Contributor
Das ganze Framework brauchst du anfangs gar nicht; für deinen Einsatzzweck müsste die Klasse ArrayList und das Interface List erstmal langen, die anderen Collections kannst du dir sukzessive anschauen, wenn die ArrayList nicht mehr ausreicht (bspw. weil du sortieren möchtest etc.).
 
B

bygones

Gast
SamHotte hat gesagt.:
wenn die ArrayList nicht mehr ausreicht (bspw. weil du sortieren möchtest etc.).
das ist ansich falsch... dafür kannst du auch mit einer ArrayList arbeiten (siehe Collections.sort)
 

byte

Top Contributor
Ich glaube er meinte eher die sortieren Listen, wo die Elemente direkt beim adden einsortiert und somit schneller gefunden werden (bsp. TreeSet). Denn sortieren kann man ja glücklicherweise alle Collections.
 
B

bygones

Gast
T-Bone hat gesagt.:
Die Sach ist, dass ich noch nicht so einen Überblick habe, um alles richtig einzuschätzen.

Ich hatte bis jetzt zu tun mit:
- Schleifen
- Arrays
- Klassen und Objekten
- Methoden - Konstruktoren
- Listen | Bäumen
- Vererbung von Klassen (Ober Unterklassen
- Abstrakte Klassen
- Interfaces

Ich weiss nicht wann ich "weit" genug wär um das Thema "Collectionn Framework" anzufangen. Zu welchem zeitpubkt habt ihr euch das Thema vorgeknüpft ?!
Da es mich aber schon reizt, werd ichs wohl nach den Prüfungen mal anfangen.
:)
ihr hattet ja schon Listen, was ja im Grunde Teil des Collection Frameworks ist. Und wenn ihr schon mit Strukturen wie Bäumen hantiert, so ist das Col. Frame. schon längst möglich.

Wahr. kennst du es schon längst am Beispiel Vector...
 

byte

Top Contributor
deathbyaclown hat gesagt.:
ihr hattet ja schon Listen, was ja im Grunde Teil des Collection Frameworks ist. Und wenn ihr schon mit Strukturen wie Bäumen hantiert, so ist das Col. Frame. schon längst möglich.

Wahr. kennst du es schon längst am Beispiel Vector...

Naja, ich schätze mal er meint mit Listen und Bäumen keine Java-Collections, sondern die handgemachte Version (a la Beispiel oben). So war es zumindest auch in meinem Studium.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Listen in Listen in Listen ... ??? Java Basics - Anfänger-Themen 2
XWing listen Java Basics - Anfänger-Themen 7
FunkyPhil94 addLast und addFirst bei Listen Java Basics - Anfänger-Themen 6
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
W Liste mit Listen in JTable darstellen Java Basics - Anfänger-Themen 1
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
T Collections Sind Subklassen-Objekte in Listen mit Generics erlaubt? Java Basics - Anfänger-Themen 16
S Lineare listen verkettung Java Basics - Anfänger-Themen 7
S Listen Java Basics - Anfänger-Themen 12
S Listen , Nodes am ende anängen Java Basics - Anfänger-Themen 6
P Sortieren von Listen nach Attributen Java Basics - Anfänger-Themen 3
M Java Listen Java Basics - Anfänger-Themen 4
V einfach verkettete Listen Java Basics - Anfänger-Themen 10
A PhoneBook mit verketteten listen Java Basics - Anfänger-Themen 48
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
G Java Listen und Iterator Java Basics - Anfänger-Themen 2
S Erklaerung Listen Java Basics - Anfänger-Themen 27
J Implementierung Listen-ADT Java Basics - Anfänger-Themen 131
I Alle Elemente von zwei Listen vergleichen Java Basics - Anfänger-Themen 1
L Skip Listen Java Basics - Anfänger-Themen 5
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
L Wie testet man (selbstgeschriebene) Listen sinnvoll? Java Basics - Anfänger-Themen 2
F Problem mit Listen Java Basics - Anfänger-Themen 5
J Listen Operationen Java Basics - Anfänger-Themen 4
O Unterschied Arrays, Listen, Mengen Java Basics - Anfänger-Themen 24
J Eine Liste von Listen erstellen Java Basics - Anfänger-Themen 11
A Sortierte Listen Java Basics - Anfänger-Themen 4
L Datenstrukturen/ Listen Java Basics - Anfänger-Themen 17
A Was könnten typische Prüfungsaufgaben zum Thema lineare, verkettete Listen sein? Java Basics - Anfänger-Themen 5
L Listen und Felder Java Basics - Anfänger-Themen 2
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
R Arrays und Listen Java Basics - Anfänger-Themen 1
R Listen richtig implementieren Java Basics - Anfänger-Themen 3
F Multidimensionale Listen Java Basics - Anfänger-Themen 3
F Wie String in unterschiedliche Listen teilen Java Basics - Anfänger-Themen 7
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
T Objekte in Listen vererben Java Basics - Anfänger-Themen 3
A Klassen Klassen und Listen... Java Basics - Anfänger-Themen 5
Hacer Operationen einfach verketteter Listen Java Basics - Anfänger-Themen 22
S Methoden Vergleichen von zwei Listen in der Geschwindigkeit von O(n+m) Java Basics - Anfänger-Themen 32
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
C Listen Java Basics - Anfänger-Themen 3
C Zwei Listen verbinden Java Basics - Anfänger-Themen 1
C Zahlen merken mit Hilfe von Arrays/Listen Java Basics - Anfänger-Themen 2
E Feld von verketteten Listen Java Basics - Anfänger-Themen 11
T Überprüfung einer Aufgabe zu verketteten Listen Java Basics - Anfänger-Themen 5
S Liste mit Objekten und Listen Java Basics - Anfänger-Themen 9
JarJarBigs Frage zu Listen Java Basics - Anfänger-Themen 2
N verkettete Listen Java Basics - Anfänger-Themen 4
O Listen sort-Methode Java Basics - Anfänger-Themen 1
I Listen sortieren bei mehreren Listen zu einer Java Basics - Anfänger-Themen 2
L Lineare Listen Java Basics - Anfänger-Themen 2
S Listen Objekte nach LocalDateTime sortieren Java Basics - Anfänger-Themen 2
D Methoden Listen generieren Java Basics - Anfänger-Themen 4
A Sichtbarkeit in Methoden/Listen Java Basics - Anfänger-Themen 3
M verkettete Listen Java Basics - Anfänger-Themen 1
D Klausur Vorbereitung: Listen, Rekursion, Bäume & Vererbung Java Basics - Anfänger-Themen 3
S Vergleich von Listen Java Basics - Anfänger-Themen 6
I Zwei Listen vergleichen Java Basics - Anfänger-Themen 2
M Listen erstellen mit unterschiedlichen Reihenfolgen Java Basics - Anfänger-Themen 3
I Zwei Listen vergleichen bei n:m Beziehung Java Basics - Anfänger-Themen 2
I Zwei Listen: Wenn nicht vorhanden löschen Java Basics - Anfänger-Themen 4
I Prüfen von zwei Listen Java Basics - Anfänger-Themen 1
K Interface Generics, Interfaces und Listen - ich bin verwirrt. Java Basics - Anfänger-Themen 7
L Best Practice Alle Kombinationen aus Listenelementen, Anzahl Listen unterschiedlich Java Basics - Anfänger-Themen 6
llabusch Verkette Listen - Einfach und Doppelt Java Basics - Anfänger-Themen 3
S Unsortierte Listen - Frage zur "Verkettung" Java Basics - Anfänger-Themen 1
I Zwei Listen vergleichen Java Basics - Anfänger-Themen 7
I Listen, for - Schleifen Java Basics - Anfänger-Themen 8
P Listen Size stimmt nicht Java Basics - Anfänger-Themen 5
O Objekt Listen serialisierung und deserialisieren Java Basics - Anfänger-Themen 5
L Collections Objekte in Listen speichern Java Basics - Anfänger-Themen 3
G 2 Listen kombinieren und nach abc sortieren Java Basics - Anfänger-Themen 9
D Annonyme Innere Klasse: Listen mit geradem Index ausgeben Java Basics - Anfänger-Themen 6
G Listen sortieren Java Basics - Anfänger-Themen 3
G Generic und Listen Java Basics - Anfänger-Themen 8
R SQL ähnlicher Filter für Java Listen Java Basics - Anfänger-Themen 2
Y Collections 4 Listen Java Basics - Anfänger-Themen 14
S OOP/ Listen...etc... Java Basics - Anfänger-Themen 14
E Listen Java Basics - Anfänger-Themen 2
V Methoden Verkettete Listen Index eines Elementes ausgeben Java Basics - Anfänger-Themen 10
B Listen Java Basics - Anfänger-Themen 3
B eigene klasse in listen eintragen Java Basics - Anfänger-Themen 6
B Map per Listen Java Basics - Anfänger-Themen 2
S Erfahrungswerte von schnelles durchlaufen von Listen mit 2 Werten Java Basics - Anfänger-Themen 10
Joew0815 Problem mit Listen: add() Java Basics - Anfänger-Themen 11
P Zeichenorientierte & Serialisierte Datenverarbeitung Listen Java Basics - Anfänger-Themen 8
E Listen und Generics Java Basics - Anfänger-Themen 9
L dynamisches erzeugen von array Listen Java Basics - Anfänger-Themen 7
E Listen und Duplikate Java Basics - Anfänger-Themen 2
R Hilfe bei Listen Java Basics - Anfänger-Themen 10
F Collections Liste von Listen Java Basics - Anfänger-Themen 21
A Methoden Anfängerfrage: 2 Listen Vergleichen Java Basics - Anfänger-Themen 7
walker23m C++ Listen iteratoren in Java umwandeln Java Basics - Anfänger-Themen 3
X Listen und verschiedene Methoden Java Basics - Anfänger-Themen 6
N Listen Java Basics - Anfänger-Themen 5
S Listen Klasse selbst schreiben Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben