步骤2:获取迭代器 接下来,我们需要获取List的迭代器。通过调用List接口的iterator()方法可以获得一个迭代器对象: // 获取List的迭代器Iterator<Integer>iterator=list.iterator(); 1. 2. 步骤3:遍历List 现在,我们可以使用迭代器来遍历List。通过循环迭代器的hasNext()方法来判断是否还有下一个元素,然后通过next()...
但是Arraylist迭代器会出现下面这种情况,当我们用集合删除方法删除倒数第二个元素时,并不会出现异常。 public class InteratorTest { public static void main(String[] args) { List list = new ArrayList<>(); list.add("zhangsan"); list.add("lisi"); list.add("wangwu"); list.add("zhaoliu"); Iter...
使用java的迭代器对list进行遍历 List<List<Integer>> vec2d = new LinkedList<List<Integer>>(); vec2d.add(Arrays.asList(new Integer[]{1,2,3})); vec2d.add(Arrays.asList(new Integer[]{4,null,5})); vec2d.add(null); vec2d.add(Arrays.asList(new Integer[]{6,7,8,null})); Iterable...
迭代接口定义的方法有boolean hasNext()。只要集合存在下一个元素,可用Object next()方法获取下一个元素。 import java.util.*;//集合的遍历,迭代器的使用public class Test{public static void main(String[] args){Collection<String> myList =new ArrayList<>(); //定义一个存有字符串的集合String[] strs=...
java 使用Iterator 迭代器遍历AList、Set、Map 1.ArrayList 1List list =newArrayList<Integer>();2list.add(1);3list.add(2);4list.add(3);5//创建一个迭代器6Iterator iter =list.iterator();7//循环迭代8while(iter.hasNext()){9Integer i =(Integer) iter.next();10System.out.println(i);11}...
你a<70的时候是倒数第二位,也就是66,没有抛出异常是因为之前list大小为5,你删除66后,list大小为4,你第一次遍历list大小为5的数组的时候,66的cursor在index = 4,当你删除后,遍历list大小为4的数组时, cursor = 4 = newlist.size()。ArrayList里的这个方法就会判断list已经读取完毕了,...
要想做到上面代码理想中的操作,可以使用迭代器的remove,代码如下: //遍历删除,除去一级子菜单Iterator<SysMenu> iterator =sysMenuList.iterator();while(iterator.hasNext()) { SysMenu menu=iterator.next();if(menu.getParentId() !=null&& menu.getParentId() != 0) { ...
第一种就是普通的for循环,第二种为迭代器遍历,第三种是for each循环。后面两种方式涉及到Java中的iterator和iterable对象,接下来我们来看看这两个对象的区别以及如何在自定义类中实现for each循环。 Iterator与Iterable iterator为Java中的迭代器对象,是能够对List这样的集合进行迭代遍历的底层依赖。而iterable接口里定义...
Iterable<List<Integer>>i = vec2d.iterate(); Iterable<Integer>j ; while(i.hasNext()){ List<Integer> tlist = i.next(); if(tlist==null) continue;//有可能是null j= tlist.iterate(); while(j.hasNext()){ Integer tinteger = j.next(); ...