用迭代器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遍历

Java中定义一个迭代器(Iterator)遍历完一个集合后,如果还要再遍历一次这个集合?

jsp用<iterator>遍历数据 如何获取遍历的值

Java中Set集合怎样用for遍历?

List逆向遍历、反向遍历--Iterator详解