为了账号安全,请及时绑定邮箱和手机立即绑定

List中是否有任何类型的reverse_iterator,只是为了反转List?

List中是否有任何类型的reverse_iterator,只是为了反转List?

POPMUISE 2021-12-10 17:11:59
我想知道在像ArrayList<Integer>. 即,我想从列表的末尾而不是从头开始迭代?有没有 Java8 流解决方案?
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

在 Java 中有 List Iterator https://www.journaldev.com/13457/java-listiterator


// Substitute appropriate type.

ArrayList<...> a = new ArrayList<...>();


// Add elements to list.


// Generate an iterator. Start just after the last element.

ListIterator li = a.listIterator(a.size());


// Iterate in reverse.

while(li.hasPrevious()) {

  System.out.println(li.previous());

}


查看完整回答
反对 回复 2021-12-10
?
侃侃无极

TA贡献2051条经验 获得超10个赞

您可以反转列表的另一种方法是使用 Collections.reverse


ArrayList<Integer> a = new ArrayList<>(); // assign some values here

a.forEach(System.out::println); // actual order

Collections.reverse(a);

a.forEach(System.out::println); // reverse order


查看完整回答
反对 回复 2021-12-10
?
jeck猫

TA贡献1909条经验 获得超7个赞

是的,java 中有一个反向迭代选项。下面的代码工作正常。


ArrayList<Integer> al = new ArrayList<>();

al.add(1);

al.add(2);

al.add(3);

al.add(4);


ListIterator<Integer> itr = al.listIterator(al.size());


System.out.println("Printing from last element ");

while (itr.hasPrevious()) {

    System.out.println(itr.previous());

}


查看完整回答
反对 回复 2021-12-10
  • 3 回答
  • 0 关注
  • 309 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号