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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 发飙的蜗牛 中级黑马   /  2015-4-24 17:52  /  2093 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

12黑马币
请帮忙解决个问题:
自己定义一个类,把它的对象存储到HashMap集合中,并使用2中方式遍历

最佳答案

查看完整内容

class Teacher { private String name; private int age; public Teacher() { super(); } public Teacher(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public i ...

2 个回复

倒序浏览
class Teacher {
        private String name;
        private int age;

        public Teacher() {
                super();
        }
        public Teacher(String name, int age) {
                super();
                this.name = name;
                this.age = age;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }

        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + age;
                result = prime * result + ((name == null) ? 0 : name.hashCode());
                return result;
        }

        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                Teacher other = (Teacher) obj;
                if (age != other.age)
                        return false;
                if (name == null) {
                        if (other.name != null)
                                return false;
                } else if (!name.equals(other.name))
                        return false;
                return true;
        }
}
public class HashMapTest {
        public static void main(String[] args) {
                //创建集合对象
                HashMap<Teacher,String> hm = new HashMap<Teacher,String>();
                //添加元素
                hm.put(new Teacher("小曼老师", 18), "itcast001");
                hm.put(new Teacher("范老师", 28), "itcast002" );
                hm.put(new Teacher("邹老师", 32), "itcast003");
                hm.put(new Teacher("邹老师", 32), "itcast004");
               
                //遍历
                // 键找值
                Set<Teacher> keys = hm.keySet();
                for (Teacher t : keys) {
                        String value = hm.get(t);
                        System.out.println(value +"--"+ t.getName() + "--" + t.getAge());
                }
                               
                // 键值对 元素, 找键找值
                // a: 获取所有的键值对对象
                Set<Entry<Teacher, String>> entrySet = hm.entrySet();
                // b: 获取到每一个键值对元素对象
                for (Entry<Teacher, String> entry : entrySet) {
                        // 通过键值对元素对象, 找键 找值
                        Teacher t = entry.getKey();
                        String value = entry.getValue();
                        System.out.println(  value +"--"+ t.getName() + "--" + t.getAge());
                }
        }
}
回复 使用道具 举报
楼上大神....
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马