用迭代器iterator遍历list中第一条数据和最后一条数据 并判断
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用迭代器iterator遍历list中第一条数据和最后一条数据 并判断相关的知识,希望对你有一定的参考价值。
Iterator iterator = list.iterator();
Object first = null;
Object last = null;
int count = 0;
while(iterator.hasNext())
count++;
Object temp = iterator.next();
if(count==1)
first = temp;
else
if(!iterator.hasNext()) //最后一个元素
last = temp;
之后对first、last处理,之后的代码用户可根据自己的需求进行处理。
扩展资料:
迭代器是一种模式、详细可见其设计模式,可以使得序列类型的数据结构的遍历行为与被遍历的对象分离,即我们无需关心该序列的底层结构是什么样子的。只要拿到这个对象,使用迭代器就可以遍历这个对象的内部。
Iterable:实现这个接口的集合对象支持迭代,是可以迭代的。实现了这个可以配合foreach使用
Iterator:迭代器,提供迭代机制的对象,具体如何迭代是这个Iterator接口规范的。
Iterator接口包含三个方法:hasNext,next,remove。
参考资料来源:百度百科-迭代器
参考技术A Iterator iterator = list.iterator();Object first = null;
Object last = null;
int count = 0;
while(iterator.hasNext())
count++;
Object temp = iterator.next();
if(count==1)
first = temp;
else
if(!iterator.hasNext()) //最后一个元素
last = temp;
之后对first、last处理,但是你没说明要处理什么,所以也不好写本回答被提问者采纳 参考技术B list.get(0);
list.get(list.size()-1);
从来不建议用iterator来读List,除非是为了偷懒foreach,不然别用这个烂玩意。直接当数组用,多方便啊。
Iterator和ListIterator区别
我们在使用List,Set的时候,为了实现对其数据的遍历,我们经常使用到了Iterator(迭代器)。
List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterator和ListIterator主要区别在以下方面:
1:ListIterator有add()方法,可以向List中添加对象,而Iterator不能。
2:ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。
3:ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。
4:都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。
总结:
ListIterator:可以增删改查、顺序向后向前遍历。
Iterator:可以删、顺序向后遍历。
以上是关于用迭代器iterator遍历list中第一条数据和最后一条数据 并判断的主要内容,如果未能解决你的问题,请参考以下文章
for()与iterator()遍历循环的区别,各自的特点?
Collection接口都是通过Iterator()(即迭代器)来对Set和List遍历