这里有一个非常简单的方法 List::subList(int fromIndex, int toIndex) :
List<String> list = Arrays.asList("A", "B", "C", "D", "E", "F");
int index = list.indexOf("D"); // or a fixed number, depends on your implementation
List<String> newList = new ArrayList<>();
newList.addAll(list.subList(index, list.size())); // right part [D, E, F] first
newList.addAll(list.subList(0, index)); // left part [A, B, C] then
这个 newList 将包含 [D, E, F, A, B, C] 然而,它并没有利用连接结构的任何优点。
3条答案
按热度按时间yqlxgs2m1#
不,这不可能使用java中的任何标准类。您必须基于任何有序随机访问集合(如:数组、列表)创建自己的实现。
下面的解决方案可能不是最优的,但它是有效的,而且是在5分钟内编写的。
输出:
p、 正如你所看到的,这种方法是被接受的
Deque
,因此可以使用此接口的任何实现。6ljaweal2#
你可以用
Collections.rotate
对于实现List
接口:输出:
[D, E, F, A, B, C]
qmb5sa223#
这里有一个非常简单的方法
List::subList(int fromIndex, int toIndex)
:这个
newList
将包含[D, E, F, A, B, C]
然而,它并没有利用连接结构的任何优点。