Collections.reverse()是Java中用于反转List元素顺序的静态方法,属于java.util.Collections类,可直接修改原列表;它支持ArrayList、LinkedList等List接口实现,但不适用于Set、Map或基本类型数组;通过Arrays.asList()可间接反转对象数组,且能处理自定义对象列表,使用简便但需注意类型限制。

在Java中,Collections.reverse() 是一个静态方法,用于反转List集合中的元素顺序。这个方法属于 java.util.Collections 工具类,使用起来非常简单高效。
1. 基本用法:Collections.reverse() 反转列表
该方法接收一个 List 类型的参数,并将其中的元素顺序原地反转(即不创建新列表,直接修改原列表)。
示例代码:
import java.util.*; Listlist = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); System.out.println("反转前: " + list); // 输出: [A, B, C] Collections.reverse(list); System.out.println("反转后: " + list); // 输出: [C, B, A]
2. 支持的集合类型限制
Collections.reverse() 只能用于实现了 List 接口的集合,例如:
立即学习“Java免费学习笔记(深入)”;
- ArrayList
- LinkedList
- Vector
- Arrays.asList() 返回的固定大小列表
注意:不能用于 Set、Map 或数组等非 List 类型。如果需要反转数组,可以先转为 List 再操作。
3. 反转数组的小技巧
虽然 Collections.reverse() 不支持数组,但可以通过 Arrays.asList() 转换为列表视图后再反转。
String[] arr = {"X", "Y", "Z"};
List list = Arrays.asList(arr);
Collections.reverse(list);
// 此时 arr 数组内容也被改变了
System.out.println(Arrays.toString(arr)); // 输出: [Z, Y, X]
注意:这种方式只能用于对象数组。基本类型数组(如 int[])无法使用,因为 Arrays.asList() 不支持。
4. 自定义对象列表也能反转
无论列表中存储的是字符串、整数还是自定义对象,Collections.reverse() 都能正常工作,因为它只改变顺序,不依赖元素类型。
Listpeople = new ArrayList<>(); people.add(new Person("张三")); people.add(new Person("李四")); Collections.reverse(people); // 成功反转
基本上就这些。Collections.reverse() 方法简洁实用,适合大多数需要反转列表的场景,前提是使用 List 类型且允许修改原列表。不复杂但容易忽略细节,比如对数组的操作限制。










