Метод rotate
Метод rotate класса Collections выполняет
циклический сдвиг элементов списка на заданное
количество позиций. В первый параметр мы передаем
список, элементы которого нужно сдвинуть, а во
второй - расстояние сдвига. Положительное значение
сдвигает элементы вправо (к концу списка), а
отрицательное - влево (к началу списка). Элементы,
которые выходят за границу списка, переносятся в
его противоположный конец.
Синтаксис
Collections.rotate(list, distance)
Пример
Давайте сдвинем элементы списка на 2 позиции
вправо:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = new java.util.ArrayList<>(List.of(1, 2, 3, 4, 5));
Collections.rotate(list, 2);
System.out.println(list);
}
}
Результат выполнения кода:
[4, 5, 1, 2, 3]
Пример
Давайте сдвинем элементы списка на 2 позиции
влево, передав отрицательное значение:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = new java.util.ArrayList<>(List.of(1, 2, 3, 4, 5));
Collections.rotate(list, -2);
System.out.println(list);
}
}
Результат выполнения кода:
[3, 4, 5, 1, 2]
Пример
Давайте сдвинем элементы списка строк на 1
позицию вправо:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> list = new java.util.ArrayList<>(List.of("a", "b", "c", "d", "e"));
Collections.rotate(list, 1);
System.out.println(list);
}
}
Результат выполнения кода:
[e, a, b, c, d]
Пример
Если расстояние сдвига равно длине списка, порядок элементов не изменится:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = new java.util.ArrayList<>(List.of(1, 2, 3, 4, 5));
Collections.rotate(list, 5);
System.out.println(list);
}
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Смотрите также
-
класс
Collections,
который содержит методы для работы с коллекциями -
метод
reverse,
который меняет порядок элементов на обратный -
метод
swap,
который меняет местами два элемента списка -
метод
shuffle,
который перемешивает элементы списка