问答详情
源自:2-8 测试购物车类

为啥遍历商品集合的时候又可以用增强for循环?

为啥遍历商品集合的时候又可以用增强for循环?在前面一节获取键的集合的时候又只能用迭代器?求解?

提问者:weiiNice 2016-12-20 21:35

个回答

  • qq_炽冬阳_0
    2016-12-25 21:00:44
    已采纳

    这个是一样的,最后的结果就是遍历整个集合,你说的前面一节用迭代器,因为set集合实现了Serializable接口,所以可以用迭代器来遍历整个集合,当然你也可以用增强for循环,这都是可以的。

    对于你说的,现在遍历商品集合时候用增强·for循环,其实你可以用迭代器,只不过的得到i.next()的类型是Map.Entry<items,number>,其他都是一样的,你可以试一下,祝你好运。

  • qq_这是只仓鼠_0
    2017-03-07 15:10:40

    实际的原因是因为HashMAP为无序存放的存储结构,他没有索引一说,只能靠一个键值去查找对应的值,而代码中定义了一个有序的SET,目的就是为了使用索引来更方便的遍历,SET的范型设定为MAP.entry,而MAP.entry其实是一个类型,类似int之类的类型,这个类型就是以键值对的形式存放数据的类型,在hashmap中自带一个叫做entrySet()的方法,就是用于将里面存放的数据转换为这种类型,使他可以放在有序表中,作为表项,然后就可以使用有序表可用的FOR 去遍历索引,所以可以使用增强FOR。

  • qq_炽冬阳_0
    2016-12-29 09:39:05

    不用客气


  • qq_炽冬阳_0
    2016-12-25 21:05:50

    http://img.mukewang.com/585fc4180001d93106230475.jpg我试了一下,你看看