Java Collections.reverse()方法及示例

Java Collections.reverse()方法及示例

集合类的 reverse() 方法,正如其名称本身所暗示的那样,用于反转存储在对象中的元素。它反转了作为参数传递的列表中的元素的顺序。

这个类存在于java.util包中,所以它的语法如下。

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

示例

Input  : {1, 2, 3, 4}
Output : {4, 3, 2, 1}
Java

参数: 一个类的对象,其元素将被反转。

public static void reverse(List myList)
Java

抛出的异常: 如果指定的列表或其列表迭代器不支持set操作,它会抛出UnsupportedOperationException。

让我们通过下面列出的用例来看看这个方法的用法。

  • 反转数组列表
  • 反转一个LinkedList
  • 反转一个数组

让我们在下面提供的java代码中实现集合类的这个方法,如下所示。

案例1: 反转数组列表

// 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);
    }
}
Java

输出

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

案例2: 反转一个链接列表

// 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);
    }
}
Java

输出

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

如果我们偷看一下上面的程序,那么只有一个微小的签名细节,那就是我们只是创建了一个LinkedList类的对象,而不是Array类,正如在例子1A中看到的那样。对于LinkedList,我们只是在上面的代码中做了如下的改变。

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

案例3: 反转一个数组。Java中的数组类并没有反转方法。我们可以使用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));
    }
}
Java

输出

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册