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]