Java Java.util.Collections.rotate()方法及示例

Java Java.util.Collections.rotate()方法及示例

java.util.Collections.rotate() 方法位于java.util.Collections类中。它用于将指定集合中存在的元素按照给定距离旋转。

语法:
public static void rotate(List < type > list, int distance)
参数 :
list – 需要旋转的列表。
distance – 要旋转列表的距离。
type – 要旋转的列表类型。例如,可以是 Integer,String 等。
返回 :
NA(无返回值)。
抛出:
UnsupportedOperationException – 如果指定列表或它的列表迭代器不支持 set 操作,则会抛出异常。

对 distance 值没有限制。它可以是零、负数或大于 list.size()。调用此方法后,对于 i 取值在 0 到 list.size()-1 范围内的所有元素,索引为 i 的元素将成为原来索引为 (i – distance) mod list.size() 的元素。

// Java program to demonstrate working of 
// java.utils.Collections.rotate()
  
import java.util.*;
   
public class RotateDemo
{
    public static void main(String[] args)
    {
        // Let us create a list of strings
        List<String>  mylist = new ArrayList<String>();
        mylist.add("practice");
        mylist.add("code");
        mylist.add("quiz");
        mylist.add("geeksforgeeks");
   
        System.out.println("Original List : " + mylist);
   
        // Here we are using rotate() method
        // to rotate the element by distance 2
        Collections.rotate(mylist, 2);
   
        System.out.println("Rotated List: " + mylist);
    }
}

输出:

Original List : [practice, code, quiz, geeksforgeeks]
Rotated List: [quiz, geeksforgeeks, practice, code]

How to quickly rotate an array in Java using rotate()?

Java 中的 Arrays 类没有 rotate 方法。我们可以使用 Collections.rotate() 方法来快速旋转一个数组。

// Java program to demonstrate rotation of array
// with Collections.rotate()
import java.util.*;
   
public class RotateDemo
{
    public static void main(String[] args)
    {
        // Let us create an array of integers
        Integer arr[] = {10, 20, 30, 40, 50};
   
        System.out.println("Original Array : " +
                                Arrays.toString(arr));
           
        // Please refer below post for details of asList()
        // https://www.geeksforgeeks.org/array-class-in-java/
        // 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 : [40, 50, 10, 20, 30]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程