Czy istnieje klasa do "shiftowania" miedzy różnymi wartościami?

0

Cześć. Potrzebuję klasę która wygląda około następująco:
Pozwala na definicje n składowych, na przykład: -1, 0, 1, 0.
Posiada funkcję zwracającą aktualną wartość ( załóżmy że na początku jest to 0 element czyli -1).
Posiada 2 funkcje shiftowania w prawo i lewo. Funkcje zmieniają aktualną wartość na jej prawego lub lewego sąsiada. Obsługuje zawijanie, czyli jeśli aktualną wartością jest -1 a ja shiftuje w lewo to aktualna wartość zostanie zmieniona na 0 od prawej.

Implementacja takiego czegoś jest banalna ale coś mi mówi że jest do tego jakaś wbudowana klasa.

0

Chodzi ci o jakieś CircularList ale java nie ma w standardzie takiej implementacji. Ale możesz raczej bez problemów napisać taką w oparciu o ArrayList.

0

Jest intefejs Deque. Shift można zaimplementować jako:

final Deque deque = ...;
deque.addFirst(deque.removeLast());
// lub względnie
deque.addLast(deque.removeFirst());

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