Iterator,foreach遍历小计
此博客对同一操作对比两种遍历方式,以个人忘记时快速捡起为目的。
数据表:
三个List:
List<Menu> menuList=menuService.getAllMenus(queryCondition);//将数据库中数据全部查出 List<Menu> parentList=new ArrayList<Menu>();//用于存储PARENTID为0的数据
List<Menu> sonList=new ArrayList<Menu>();//用于存储PARENTID不为0的数据
以下操作:
遍历menuList中的数据,判断PARENTID是否为0,为0的加入parentList中,不为0的加入sonList中
遍历方式一: Iterator<Menu> it=menuList.iterator(); while(it.hasNext()){ Menu tempMenu=it.next();//使用中间量 if(tempMenu.getParentid().equals("0")){ parentList.add(tempMenu); }else{ sonList.add(tempMenu); } }
遍历方式二: for(Menu menu:menuList){ if(menu.getParentid().equals("0")){ parentList.add(menu); }else{ sonList.add(menu); } }
注意:it.next指向问题,使用一次指针就往下移动一次,必要时使用中间量防止指向错误