Fork me on GitHub

Java从零开始学二十三(集合Map接口)

一、Map接口

Collection、Set、List接口都属于单值的操作,即:每次只能操作一个对象,而Map与它们不同的是,每次操作的是一对对象,即二元偶对象,Map中的每个元素都使用key à value的形式存储在集合之中

二、常用方法

No.
方法或类
类型
描述
1
public void clear()
普通
清空Map集合
2
public boolean containsKey(Object key)
普通
判断指定的key是否存在
3
public boolean containsValue(Object value)
普通
判断指定的value是否存在
4
public Set<Map.Entry<K,V>> entrySet()
普通
将Map对象变为Set集合
5
public boolean equals(Object o)
普通
对象比较
6
public V get(Object key)
普通
根据key取得value
7
public int hashCode()
普通
返回哈希码
8
public boolean isEmpty()
普通
判断集合是否为空
9
public Set<K> keySet()
普通
取得所有的key
10
public V put(K key, V value)
普通
向集合中加入元素
11
public void putAll(Map<? extends K,? extends V> t)
普通
将一个Map集合中的内容加入到另一个Map
12
public V remove(Object key)
普通
根据key删除value
13
public int size()
普通
取出集合的长度
14
public Collection<V> values()
普通
取出全部的value

三、例子

package com.pb.demo2;

public class Person {
   private String name;
   private int age;
   
public Person() {

}

public Person(String name, int age) {
    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;
}

    
}
package com.pb.demo2;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import com.pb.demo1.Person;

public class MapTest {

    public static void main(String[] args) {
        /*
         * 1.创建多个Person对象并赋值
         */
         Person p1 = new Person("张三",21);
         Person p2 = new Person("李四",22);
         Person p3 = new Person("王五",23);
         Person p4 = new Person("赵六",24);
         Person p5 = new Person("钱七",25);
         //2.创建保存键--值对的集合对象
         Map<String,Person> perMap=new HashMap<String,Person>();
         //3.使用put将英文名与对象按照键-值对的方式在座存储在HashMap中
         perMap.put("Denny", p1);
         perMap.put("Jony", p2);
         perMap.put("Rose", p3);
         perMap.put("Kitter", p4);
         perMap.put("Boby", p5);
         //4.打印键集
         System.out.println("++++++++打印键集+++++++++");
         System.out.println(perMap.keySet());
        //5.打印值集
         System.out.println("=========打印值集=======");
         System.out.println(perMap.values());
         //6.打印键-值对集合
         System.out.println("=========打印键-值对集合=======");
         System.out.println(perMap);
         //7.判断是否存在"Denny"这个键
         if(perMap.containsKey("Denny")){
            //8.如果存在,根据键获取相应的值
             Person p =perMap.get("Denny");
             System.out.println("姓名:  "+p.getName());
                System.out.println("年龄: "+p.getAge());
         }
         System.out.println("=======遍历HashMap=======");
         //遍历HashMap
         //首先遍历key集合,keySet方法返回的是Set集合
         Set<String> keySet=perMap.keySet();
         Iterator<String> iterator=keySet.iterator();
         while(iterator.hasNext()){
             String key=iterator.next();
             System.out.print("英文名:"+key);
             //根据key值取出值
             Person p =perMap.get(key);
             System.out.print("\t姓名:  "+p.getName());
             System.out.println("\t年龄: "+p.getAge());
         }
         
    }

}

 

posted @ 2015-02-25 23:32  森林森  阅读(693)  评论(0编辑  收藏  举报