witam,
wyczytuje liste z bazy danych i chcialbym wyczytac z niej np. 4 ostatnie wpisy.jak mozna rozwiazac ten "problem"?
z gory dziekuje za pomoc
order by xxx desc
limit 1, 4 lub coś podobnego, co ma baza, którą używasz
Oczywiście najlepiej ograniczyć liczbę wyników w zapytaniu.
Ale jakby co:
Odwracanie listy
Collections.reverse(l);
Wyciąganie ostatnich 4 elementów
int len = l.size();
List l2 = l.subList(Math.max(0, len - 4), len);
no tak, ale mi chodz i o 4 ostatnie wpisy do listy
Czyli chciałbyś wyciągnąć cztery ostatnie operacje add() dla obiektu List?
Nie obędzie się niestety bez własnej implementacji interfejsu List. Trzeba dodać "Historię operacji" do metody add().
class MyList<E> implements List{
private List<E> list = new LinkedList<E>();
public boolean add(E e){
list.add(e);
addToHistory(); // i to sobie jakoś zaimplementuj np w oparciu o tablicę lub stos.
}
}
Coś nie rozumiem.
Operacja add() powoduje dodanie elementu na koniec listy, więc aby otrzymać 4 ostatnio dodane elementy, wystarczy wziąć 4 ostatnie elementy listy.
No chyba, że chcesz jeszcze usuwać elementy z tej listy, to wtedy trzeba przechowywać historię.
Natomiast, jak uzyskać 4 ostatnie elementy listy już podałem wyżej
int len = l.size();
List l2 = l.subList(Math.max(0, len - 4), len);
Czy możesz podać na jakimś przykładzie o co dokładnie chodzi?