Java Collections rotation()
Java Collections 类的
rotate()方法用于按给定的顺序旋转指定列表中的元素
语法
以下是
rotate()方法的声明:
public static void rotate(List<?> list, int distance)
参数
参数 |
说明 |
必需/可选 |
list |
这是要轮换的列表。 |
必需 |
distance |
是要旋转列表的距离。它可以为零,负数或大于列表的大小。 |
必需 |
返回
rotate()方法不返回任何内容。
异常
UnsupportedOperationException -如果指定的列表或其列表迭代器不支持set操作,则抛出此类异常。
兼容性版本
Java 1.4及更高版本
示例1
import java.util.*;
public class CollectionsRotateExample1 {
public static void main(String[] args) {
//Let us create a list of strings
List<String> mylist = new ArrayList<String>();
mylist.add("Java");
mylist.add("Python");
mylist.add("Cobol");
mylist.add("Perl");
mylist.add("Android");
System.out.println("Original List : " + mylist);
//Rotate the element by distance 3
Collections.rotate(mylist, 3);
System.out.println("Rotated List: " + mylist);
}
}
输出:
Original List : [Java, Python, Cobol, Perl, Android]
Rotated List: [Cobol, Perl, Android, Java, Python]
示例2
import java.util.*;
public class CollectionsRotateExample2 {
public static void main(String[] args) {
//Create array list object
List<Integer> num = new ArrayList<>();
//Add values in the list
for (int i = 1; i <= 10; i++) {
num.add(i);
}
System.out.println("Value Before Rotation: "+Arrays.toString(num.toArray()));
//Rotate the list at distance 5
Collections.rotate(num, 5);
System.out.println("Value After Rotation: "+Arrays.toString(num.toArray()));
}
}
输出:
Value Before Rotation: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Value After Rotation: [6, 7, 8, 9, 10, 1, 2, 3, 4, 5]
示例3
import java.util.*;
public class CollectionsRotateExample3 {
public static void main(String[] args) {
//Create an array of integers
Integer arr[] = {10, 20, 30, 40, 50};
System.out.println("Original Array: "+Arrays.toString(arr));
//Rotating an array by distance -2
Collections.rotate(Arrays.asList(arr), -2);
System.out.println("Modified Array: "+Arrays.toString(arr));
}
}
输出:
Original Array: [10, 20, 30, 40, 50]
Modified Array: [30, 40, 50, 10, 20]