Java 如何将 List 中的元素前后顺序调换

有时候,我们可能希望将 Java List 中的元素的顺序进行调换。

就是对于一个 List A,元素最前面的我们希望调换到最后面,在最后面的我们希望调换到最前面。

Java 原生方法

你可以使用 Java 的原生方法来进行调换。

比如说一个 List:

List<Instant> timeStampList = Lists.newArrayList();
timeStampList.add(Instant.now());
timeStampList.add(Instant.now().plusMillis(1000));

Collections.reverse(timeStampList);

就可以进行调换了。

需要注意的是,这个方法将会对 timeStampList 进行修改,timeStampList 的顺序是更新后的顺序。

使用 Guava

通常你还可以使用第三方的库,比如说 Guava

List<Instant> timeStampList = Lists.newArrayList();
timeStampList.add(Instant.now());
timeStampList.add(Instant.now().plusMillis(1000));

Lists.reverse(timeStampList);

同样的方法可以这样写,如果你仔细看看方法的话, Guava 的方法也是调用了原生的 reverse 方法,但是进行了一些封装。

但是,需要注意的是,使用这个方法,是不会对输入数据进行修改的,如果你仔细看看方法应该能够看到 list instanceof ImmutableList 这个 List 是不可变的。