有时候,我们可能希望将 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 是不可变的。