iteriert durch die ArrayList<T> java?
Ich Lerne Android
und Java
habe ich eine Klasse angelegt lassen Sie uns sagen, wie diese
class x(){
public int a;
public string b;
}
ist und ich dann initiieren Sie eine Liste dieser Klasse und dann werden zusätzliche Werte für seine Eigenschaften wie dieses
public ArrayList<x> GetList(){
List<x> myList = new ArrayList<x>();
x myObject = new x();
myObject.a = 1;
myObject.b = "val1";
mylist.add(x);
y myObject = new y();
myObject.a = 2;
myObject.b = "val2";
mylist.add(y);
return myList;
}
Meine Frage ist wie kann ich in einer Schleife durch, was GetList() return
ich habe versucht
ArrayList<x> list = GetList();
Iterator<x> iterator = list.iterator();
aber ich weiß nicht, ob das der richtige Weg ist, dies zu tun, plus ich weiß nicht, was als Nächstes zu tun ist ich habe einen Haltepunkt auf der Iterator aber es schien zu null , die Liste mit Werten dachte
- docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html
- für(X myx : GetList) das war hervorragend Dank ...
- Diese Frage scheint off-topic, weil es um die Grundlagen einer Sprache
- Ich bezweifle ernsthaft, dass Sie konnte nicht finden, eine Antwort auf diese Frage mit einer minimalen suchen
- ich fand einige Beispiele, die verwendet Iterator, aber Sie waren wirklich sehr kompliziert, obwohl
- stackoverflow.com/questions/6700717/... ist der erste link bei der Suche
iterate arraylist java
in Ihre Lieblings-Suchmaschine...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es zwei Möglichkeiten, dies zu tun:
for
Schleifeiterator
Methode.for
Schleife:Dies ist, was genannt wird eine "for-each" - Schleife, und es ist wahrscheinlich die meisten common/bevorzugte Methode, dies zu tun. Die syntax ist:
for(ObjectType variableName : InCollection)
Können Sie auch ein standard -
for
Schleife:Die syntax HIERFÜR lautet:
for(someStartingValue; doSomethingWithStartingValue; conditionToStopLooping)
iterator
Methode:Können Sie eine Schleife durch das array mit einer for-each-Schleife:
Ich denke, man kann Durchlaufen der arraylist eine Reihe von Möglichkeiten. Eine Möglichkeit ist der iterator:-
Andere Möglichkeit wäre eine Schleife:
Hoffe das hilft in irgendeiner Weise.
Ref
http://www.tutorialspoint.com/java/java_using_iterator.htm
http://examples.javacodegeeks.com/core-java/util/arraylist/arraylist-in-java-example-how-to-use-arraylist/
UPDATE
Dachte ich, dass ich einfach setzen diese draußen aus der Forschung durch den Kommentar unten über die Leistung.
Die Android-docs
http://developer.android.com/training/articles/perf-tips.html
Staaten:
null() am langsamsten ist, weil der JIT kann nicht noch optimieren entfernt die Kosten, um die array-Länge, einmal für jede iteration der
loop.
eine() ist schneller. Es zieht alles in die lokalen Variablen,
die Vermeidung der lookups. Nur der array-Länge und bietet eine Leistung
profitieren.
zwei() ist die Schnellste, für Geräte ohne JIT, und nicht zu unterscheiden
aus ein() für Geräte mit JIT. Es verwendet die erweiterte for-Schleife
syntax eingeführt in version 1.5 der Java-Programmiersprache.
Also, sollten Sie die Nutzung der erweiterten for-Schleife standardmäßig, aber halte eine hand-schriftliche gezählte Schleife for-performance-kritische ArrayList-iteration. Auch dies wird durch Josh Bloch Effektiv Java, Artikel 46. Der iterator und die index-Variablen sind beide nur Durcheinander. Zudem sind die Chancen für Fehler.
Der am günstigsten gelegene idioms für Iteration über collections und arrays
Josh auch Staaten, wenn Sie sehen,, der Doppelpunkt : Lesen Sie es als "In". Die Schleife liest sich so als für jedes element e in elements. Ich behaupte nicht, die diese Arbeit als meine eigene, obwohl ich wünschte, es war. Wenn Sie mehr darüber erfahren möchten, effizienten code dann schlage ich die Lektüre Josh Bloch Effektiv Java.
Don't do work that you don't need to do
wie die Schaffung eines iterator-Schleife für eine Liste meinst du?for each item
als die indizierte syntax.Versuchen Sie Folgendes: