LinkedList可以使用升序或降序迭代器迭代,如下所示:
LinkedList<Object> list = new LinkedList<Object>();
...
StringJoiner sJ1 = new StringJoiner(" ");
list.iterator().forEachRemaining(a -> sJ1.add(a.toString()));
System.out.println("averse: \n" + sJ1.toString());
StringJoiner sJ2 = new StringJoiner(" ");
list.descendingIterator().forEachRemaining(a -> sJ2.add(a.toString()));
System.out.println("reverse: \n" + sJ2.toString());
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)averse: Hello 2 Chocolate 10 reverse: 10 Chocolate 2 Hello
但是descendingIterator不适用于List和ArrayList.有没有在列表说明任何解决办法,或者为什么的descendingIterator缺席的名单?
问题类似于可以为java中的每个循环以相反的顺序执行吗?.但所有答案都建议使用临时解决方案或第三方库.
可能有使用溪流可能吗?(不幸的是,我的谷歌搜索只给出了流Java 8流逆序的缺失标准反转)
正如我所提到的,我的问题与关于流的问题有关,但是: