Java Collections.reverse()方法及示例
集合类的 reverse() 方法,正如其名称本身所暗示的那样,用于反转存储在对象中的元素。它反转了作为参数传递的列表中的元素的顺序。
这个类存在于java.util包中,所以它的语法如下。
import java.util.Collections;
Collections.reverse(class_obj);
示例 。
Input : {1, 2, 3, 4}
Output : {4, 3, 2, 1}
参数: 一个类的对象,其元素将被反转。
public static void reverse(List myList)
抛出的异常: 如果指定的列表或其列表迭代器不支持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);
}
}
输出
Original List : [practice, code, quiz, geeksforgeeks]
Modified List: [geeksforgeeks, quiz, code, practice]
案例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);
}
}
输出
Original List : [practice, code, quiz, geeksforgeeks]
Modified List: [geeksforgeeks, quiz, code, practice]
如果我们偷看一下上面的程序,那么只有一个微小的签名细节,那就是我们只是创建了一个LinkedList类的对象,而不是Array类,正如在例子1A中看到的那样。对于LinkedList,我们只是在上面的代码中做了如下的改变。
LinkedList in "List mylist = new ArrayList();".
案例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));
}
}
输出
Original Array : [10, 20, 30, 40, 50]
Modified Array : [50, 40, 30, 20, 10]