Java中的Collections.reverse()方法及示例

Java中的Collections.reverse()方法及示例

reverse() Collections类的方法名称本身就表明它用于反转存储在对象中的元素。它反转了作为参数传递的列表中元素的顺序。

此类位于java.util包中,因此语法如下:

import java.util.Collections;
Collections.reverse(class_obj);

插图:

输入:{1, 2, 3, 4}
输出:{4, 3, 2, 1}

参数: 要反转其元素的类的对象。

public static void reverse(List myList)

异常抛出: 如果指定的列表或其列表迭代器不支持设置操作,则抛出 UnsupportedOperationException

让我们通过以下列出的使用案例来看看这种方法的用法:

  • 反转ArrayList
  • 反转LinkedList
  • 反转数组

让我们通过在以下提供的干净的Java代码中实现Collections类的这种方法来实现它:

案例1: 反转ArrayList

// Java program to illustrate reverse() method
// of Collections class over ArrayList
  
// Importing utility classes
import java.util.*;
  
// Main class
public class GFG {
  
    // main driver method
    public static void main(String[] args)
    {
        // Let us create a list of strings
        List<String> mylist = new ArrayList<String>();
  
        // Adding elements to the List
        // Custom input elements
        mylist.add("practice");
        mylist.add("code");
        mylist.add("quiz");
        mylist.add("geeksforgeeks");
  
        // Print all elements originally
        System.out.println("Original List : " + mylist);
  
        // Using reverse() method to
        // reverse the element order of mylist
        Collections.reverse(mylist);
  
        // Print all elements of list in reverse order
        // using reverse() method
        System.out.println("Modified List: " + mylist);
    }
}

输出

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

案例2: 反转LinkedList

// Java program to illustrate reverse() method
// of Collections class over ArrayList
  
// Importing utility classes
import java.util.*;
  
// Main class
public class GFG {
  
    // main driver method
    public static void main(String[] args)
    {
        // Let us create a list of strings
        List<String> mylist = new LinkedList<String>();
  
        // Adding elements to the List
        // Custom input elements
        mylist.add("practice");
        mylist.add("code");
        mylist.add("quiz");
        mylist.add("geeksforgeeks");
  
        // Print all elements originally
        System.out.println("Original List : " + mylist);
  
        // Using reverse() method to
        // reverse the element order of mylist
        Collections.reverse(mylist);
  
        // Print all elements of list in reverse order
        // using reverse() method
        System.out.println("Modified List: " + mylist);
    }
}

输出

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

如果我们查看上述程序,那么唯一的细节是我们只是创建了LinkedList类的对象,而不是Array类,如示例1A中所示。对于LinkedList,我们只做了如上代码中所示的更改:

LinkedList in "List mylist = new ArrayList();".

情况3: 反转数组:Java中的Arrays类没有reverse方法。我们可以使用Collections.reverse()来反转数组,如下所示:

示例:

// Java program to Illustrate Reversal of Array
// using reverse() method of Collections class
  
// Importing utility classes
import java.util.*;
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Creating input integer array
        Integer arr[] = { 10, 20, 30, 40, 50 };
  
        // Print elements of array
        System.out.println("Original Array : "+ Arrays.toString(arr));
  
        // Reversing elements of array using reverse()
        // method of Arrays class and fetching as
        // list via asList()
        Collections.reverse(Arrays.asList(arr));
  
        // Print and display reverse updated array
        System.out.println("Modified Array : "+ Arrays.toString(arr));
    }
}

输出:

Original Array : [10, 20, 30, 40, 50]
Modified Array : [50, 40, 30, 20, 10]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程