A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Spole_168 中级黑马   /  2013-6-15 22:38  /  1075 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对map遍历有哪几种??同时删除集合List中的对象时只能remove(index)吗??

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

2 个回复

倒序浏览
本帖最后由 苑永志 于 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;
        }
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
如果每个人能像楼上回答的那么好  我们版主也就不用纠结分数问题了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马