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指向问题,使用一次指针就往下移动一次,必要时使用中间量防止指向错误

 


 

posted @ 2017-11-03 15:22  澡堂麦霸  阅读(188)  评论(0编辑  收藏  举报