odwrocona lista

0

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

0

order by xxx desc
limit 1, 4 lub coś podobnego, co ma baza, którą używasz

0

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);
0

no tak, ale mi chodz i o 4 ostatnie wpisy do listy

0

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.
   }

}
0

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?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0