ArrayList Finden, Erste und Letzte Element
Guten Abend,
Ich habe eine ArrayList (instanziiert wie ld_data) und ich die Iteration vorwärts-und rückwärts-Suche /Anzeige, um den Benutzer das element Daten. In diesem Prozess muss ich wissen, wenn ich mich an das erste element und das Letzte. Erkennen, wenn ich an das Letzte element ich mache es so:
if((index + 1) <= ld_data.size())
{
....
}
Dies funktioniert, da die size-Eigenschaft ist auch die Obere Grenze der ArrayList. Jedoch erkennen, wenn ich an das erste element ist nicht so einfach für mich. Die besten, die ich in der Lage gewesen, um herauszufinden, ist dies die scheint mir ziemlich lahm....aber es funktioniert.
if((index - 1) >= (ld_data.size() - ld_data.size()))
{
....
}
In C# .NET-Welt haben wir die ArrayList.Obergrenze oder ArrayList.Untergrenze gibt es etwas ähnliches in Java?
JB
EDIT: Weitere details. So für weitere Informationen stehe ich an einer ListView. Also, wenn der Benutzer einen Bildlauf zu dem ersten element der Liste, die ich zeigen möchte, eine msg - "Beginn der Liste" und wenn Sie das Ende erreichen-show "Ende Liste". Ich weiß, es gibt eine scrollbar, macht dies offensichtlich, ich versuche nur, um ein Beispiel zu geben von dem, was ich Tue. So erfolgt die Prüfung in der "OnScroll" - Ereignis.
InformationsquelleAutor der Frage GPGVM | 2012-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es immer empfohlen, um
Iterators
oderListIterator
zum Durchlaufen einer Liste. Unter Verwendung der Liste Größe, die als Referenz nicht trainieren, wenn Sie ändern die Daten der Liste (das entfernen oder einfügen von Elementen).Iterator - damit der Anrufer zum Durchlaufen einer Liste in eine Richtung und entfernen von Elementen aus der zugrunde liegenden Auflistung während der iteration mit klar definierten Semantik,
Können Sie eine
ListIterator
zum Durchlaufen der Liste. EinListIterator
erlaubt es dem Programmierer, zum Durchlaufen der Liste in beide Richtungen, ändern Sie die Liste während der iteration, und die iterator-die aktuelle position in der Liste. Sie können sich das Beispiel weiter unten.Dies ist nur ein Beispiel zeigt die Verwendung eines
ListIterator
bitte analysieren Sie, was Ihre Anforderung ist umzusetzen und erforderlich.InformationsquelleAutor der Antwort Rakesh
InformationsquelleAutor der Antwort Bhesh Gurung
Nur prüfen, ob der index gleich 0 ist. Das erste element befindet sich immer in diesem index.
InformationsquelleAutor der Antwort Dhruv Gairola
ArrayList
s haben immer einen unteren index 0. Soif (index > 0) { //okay to decrement }
funktionieren.Können Sie auch verlangen, eine Liste mit iterator
InformationsquelleAutor der Antwort Gene
Es scheint, Sie wollen abstrahieren der Logik zu bewältigen, die ersten und die letzten, alles, was in zwischen in unterschiedlicher Weise.
Können Sie es tun durch die Definition einer destructuring Klasse, wie unten gezeigt:
Verwenden:
Den oben genannten Drucke:
[first: 90, intermediate: hello, intermediate: 5.6, intermediate: 12, intermediate: namaste, last: false]
.InformationsquelleAutor der Antwort missingfaktor
Index ist immer 0 - myList.size() -1. Ich vermute, vielleicht bin ich auch nicht verstehen, Ihre Frage, denn dies scheint selbstverständlich.
InformationsquelleAutor der Antwort Genia S.
In der Java-Welt, das erste element der Wendeplatten-Sammlung hat immer ein offset gleich null, so "lower bound" und "upper bound" - Methode überflüssig wäre.
Nur die Konstante
0
.InformationsquelleAutor der Antwort Stephen C
AFAIK
ArrayList
Klasse keine solche Methode zu geben, diefirst and last element
es Objekt.Können Sie code schreiben, wie,
InformationsquelleAutor der Antwort MKJParekh