黑马程序员技术交流社区

标题: Map遍历方法有?? [打印本页]

作者: Spole_168    时间: 2013-6-15 22:38
标题: Map遍历方法有??
对map遍历有哪几种??同时删除集合List中的对象时只能remove(index)吗??
作者: 苑永志    时间: 2013-6-15 22:56
本帖最后由 苑永志 于 2013-6-15 23:10 编辑

回答第一个问题:一般有三种遍历的方式:
  1. Map<String,Student> stuMap = getStuMap();
  2. //1. 通过Map的keySet()方法遍历
  3. Set<String> stuKeys = stuMap.keySet();
  4. for(String key : stuKeys){
  5.     Student s = stuMap.get(key);
  6. }
  7. //2. 使用Map的entrySet()方法遍历
  8. Set<Map.Entry<String,Student>> entrySet = stuMap.entrySet();
  9. for(Map.Entry<String,Student>> entry : entrySet){
  10.     Student s = entry.getValue();
  11. }
  12. //3. 使用Map的values()方法,该方法放回存储元素的Collection对象
  13. Collection<Student> stus = (Collection<Student>)stuMap.values();
  14. for(Student s : stus){
  15.     Student s = s;
  16. }
复制代码
ArrayList对象list删除元素有一下集中方法:
list.remove(index);//删除list中的下标为index的元素
list.remove(Object o);//删除list中第一次出现元素o的位置的元素
for(Interator it=list.iterator();it.hasNext();){//效果同上,如果想删除list中全部的o元素,将break;语句去掉即可
        if(it.next().equals(o)) {
                it.remove();
                break;
        }
}
作者: 袁梦希    时间: 2013-6-16 08:20
如果每个人能像楼上回答的那么好  我们版主也就不用纠结分数问题了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2