Wie kann ich den letzten Wert einer ArrayList erhalten?
Antworten
Zu viele Anzeigen?Wenn Sie stattdessen eine LinkedList verwenden, können Sie auf das erste Element und das letzte Element mit nur getFirst()
y getLast()
(wenn Sie eine sauberere Methode als size() -1 und get(0) wünschen)
Umsetzung
Deklarieren Sie eine LinkedList
LinkedList<Object> mLinkedList = new LinkedList<>();
Dann sind dies die Methoden, die Sie verwenden können, um zu bekommen, was Sie wollen, in diesem Fall sind wir über ZUERST y LAST Listenelement
/**
* Returns the first element in this list.
*
* @return the first element in this list
* @throws NoSuchElementException if this list is empty
*/
public E getFirst() {
final Node<E> f = first;
if (f == null)
throw new NoSuchElementException();
return f.item;
}
/**
* Returns the last element in this list.
*
* @return the last element in this list
* @throws NoSuchElementException if this list is empty
*/
public E getLast() {
final Node<E> l = last;
if (l == null)
throw new NoSuchElementException();
return l.item;
}
/**
* Removes and returns the first element from this list.
*
* @return the first element from this list
* @throws NoSuchElementException if this list is empty
*/
public E removeFirst() {
final Node<E> f = first;
if (f == null)
throw new NoSuchElementException();
return unlinkFirst(f);
}
/**
* Removes and returns the last element from this list.
*
* @return the last element from this list
* @throws NoSuchElementException if this list is empty
*/
public E removeLast() {
final Node<E> l = last;
if (l == null)
throw new NoSuchElementException();
return unlinkLast(l);
}
/**
* Inserts the specified element at the beginning of this list.
*
* @param e the element to add
*/
public void addFirst(E e) {
linkFirst(e);
}
/**
* Appends the specified element to the end of this list.
*
* <p>This method is equivalent to {@link #add}.
*
* @param e the element to add
*/
public void addLast(E e) {
linkLast(e);
}
Sie können also Folgendes verwenden
mLinkedList.getLast();
um das letzte Element der Liste zu erhalten.
Da die Indizierung in ArrayList beginnt bei 0 und endet eine Stelle vor der tatsächlichen Größe daher die korrekte Anweisung, um das letzte ArrayList-Element zurückgeben würde sein:
int last = mylist.get(mylist.size()-1);
Zum Beispiel:
wenn die Größe der Array-Liste 5 ist, dann würde size-1 = 4 das letzte Array-Element zurückgeben.