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]