1.用keySet()这个方法
这个方法得到的是key的集合,知道了key的集合,就可以通过HashMap的get方法得到key对应的对象
的到了对象,就可调用对象的属性了- import java.util.*;
- public class Test15{
- public static void main(String[] args){
- Person p0 = new Person("zhangsan0", 20);
- Person p1 = new Person("zhangsan1", 21);
- Person p2 = new Person("zhangsan2", 22);
- Person p3 = new Person("zhangsan3", 23);
- HashMap< Integer, Person> hm = new HashMap<Integer, Person>();
- hm.put(new Integer(0), p0);
- hm.put(new Integer(1), p1);
- hm.put(new Integer(2), p2);
- hm.put(new Integer(3) ,p3);
- Set<Integer> kys = hm.keySet();//用这个方法或者
- //entrySet()这个方法你得去看api
- for(int x : kys){//这里用循环就可以
- Person p = hm.get(x);//得出person对象
- String name = p.getName();//调用person的方法
- int age = p.getAge();//调用方法
- System.out.println("name: " + name+ " age: " + age);
- }
-
- }
- }
- class Person{
- private String name;
- private int age;
- public Person(String name, int age){
- this.name = name;
- this.age = age;
- }
- public void setName(String name){
- this.name = name;
- }
- public String getName(){
- return this.name;
- }
- public int getAge(){
- return this.age;
- }
- public void setAge(int age){
- this.age = age;
- }
- }
复制代码 2,通过entrySet()这个方法,这个方法得到的是Map.Entry<K,V>,是key和alue的一组映射关系。然后进行操作,具体怎么操作,建议你去看毕向东老师的视频,里边详细讲过,- Set<Map.Entry<Integer, Person>> me = hm.entrySet();
- for(Iterator<Map.Entry<Integer, Person>> it = me.iterator(); it.hasNext();){
- Map.Entry<Integer, Person> m = it.next();
- String name = m.getKey();
- int age= m.getValue();
- System.out.println(name + ":" + age);
- }
复制代码 这里只写操作对象的那几步 |