楼主问的很好,顺便跟你复习下集合中获取元素的几种方式
首先collection中有子类 set和list,这2个集合类中都有iterator迭代器,特殊的是,list集合中有特殊的迭代器
listiterator。这个迭代器比普通的迭代器多了许多操作元素的方法。因为一般迭代器只有3个方法,又因为迭代器和集合操作的同一个对象,如果在迭代器中用集合方法,会发生异常。所以listiterator比较牛逼。。。(方法多)
然后就是Map集合类了,这个集合类是键值对存在的,其中没有迭代器iterator方法,他是用什么来取出元素的呢?两种方法,方法一:KeySet,这个方法返回的是一个set集合,集合元素是key,所以可以用set集合中iterator来遍历出map集合中的key,然后通过get(key)获得value。方法二:entryset,这个方法返回的也是set集合,但是集合中就不是key了,是键值关系,Map.Entry.这个关系也是一个接口,里面有获得键值的方法,用set集合中的iterator可以遍历出各个键值关系接口Map.Entry,然后调用接口中的方法getvalue getkey,获得键值对。
我去感觉在写日记。。。这是我自己对集合中取出元素方式的总结,仅供借鉴,可能有不对的或者漏的可以提出,感觉回答问题还能复习了。。。 |