如何反向遍历List集合
2个回答
展开全部
Iterator<String> it = set.iterator() 这时得到一个迭代器,它的指针位于第一个元素之前。
然后我们不停地 hasNext() 再 next 得到值,当hasNext 为 false 时当然就不能去 next 了。
这背后的位置索引是在迭代器内部记录着的,我们不能直接改它的值,只能 next 去下一个。
不过像 ListIterator 则是双向的,可以 previous。递增递减都是由 next / previous 方法来操作的。
然后我们不停地 hasNext() 再 next 得到值,当hasNext 为 false 时当然就不能去 next 了。
这背后的位置索引是在迭代器内部记录着的,我们不能直接改它的值,只能 next 去下一个。
不过像 ListIterator 则是双向的,可以 previous。递增递减都是由 next / previous 方法来操作的。
2019-01-13 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
关注
展开全部
package cn.itek.thinkingInJavaTest;import java.util.*;/**
* @ClassName: IteratorTest1
* @Description: 反向遍历list集合
* @author Kingram
* @date 2018年7月26日
* */public class IteratorTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
// 向集合中添加元素
for (int i = 0; i < 10; i++) {
list.add(i);
}
Iterator<Integer> it = list.iterator();
System.out.print("ArrayList集合中的元素为:");
while (it.hasNext()) {
System.out.print(it.next() + " ");
}
System.out.println();
System.out.println("逆序后为:");
ListIterator<Integer> li = list.listIterator();
// 将游标定位到集合的结尾
while (li.hasNext()) {
li.next();
}
// 迭代器遍历hasPrevious()方法用于反向遍历的时候判断是否还有下一个元素
while (li.hasPrevious()) {
System.out.print(li.previous() + " ");
}
}
}
* @ClassName: IteratorTest1
* @Description: 反向遍历list集合
* @author Kingram
* @date 2018年7月26日
* */public class IteratorTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
// 向集合中添加元素
for (int i = 0; i < 10; i++) {
list.add(i);
}
Iterator<Integer> it = list.iterator();
System.out.print("ArrayList集合中的元素为:");
while (it.hasNext()) {
System.out.print(it.next() + " ");
}
System.out.println();
System.out.println("逆序后为:");
ListIterator<Integer> li = list.listIterator();
// 将游标定位到集合的结尾
while (li.hasNext()) {
li.next();
}
// 迭代器遍历hasPrevious()方法用于反向遍历的时候判断是否还有下一个元素
while (li.hasPrevious()) {
System.out.print(li.previous() + " ");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询