码迷,mamicode.com
首页 > 编程语言 > 详细

Java集合——Map接口

时间:2015-08-06 12:34:22      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

1.定义

Map用于保存存在映射关系<key,value>的数据.其中,key值不能重复(使用equals()方法比较),value值可以重复

2.方法

put(key,value):添加元素

get(Object key):获取指定key的元素

keySet():返回指定对象key的集合

values():返回指定对象value的集合

remove(Object key):移除指定key的元素,并且返回对应值的引用

entrySet():返回映射中包含映射关系的视图

3.常用实现类

HashMap:和HashSet类似,键按键的HashCode()方法确定存储位置,无序

TreeMap:用于对键进行排序,方式与TreeSet相同

LinkedHashMap:和LinkedHashSet类似

4.实例

import static org.junit.Assert.*;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.Test;
import day8.Customer; 

     
public class TestMap {
    @Test
    public void testMapMethods(){
        Map m1=new HashMap();
        //put(key,value)添加元素
        m1.put("aa", new Customer(1,"AA"));
        m1.put("bb", new Customer(2,"BB"));
        m1.put("cc", new Customer(3,"CC"));
        m1.put("dd", new Customer(4,"DD"));
        System.out.println(m1.size());      
        Map m2=new HashMap();
        m2.put("aa", new Customer(1,"AA"));
        m2.put("bb", new Customer(2,"BB"));
        m2.put("cc", new Customer(3,"CC"));
        m2.put("dd", new Customer(4,"DD"));       
        Map<String,Object> m3=new HashMap();
        m3.put("aa", new Customer(1,"AA"));
        m3.put("bb", new Customer(2,"BB"));
        m3.put("cc", new Customer(3,"CC"));
        m3.put("dd", new Customer(4,"DD"));     
                    //比较两对象是否相等时,重写Object的equals()方法,如果键值对完全相同,返回true.
        System.out.println(m1.equals(m2));    
                   //get(Object key)获取指定key的元素
        System.out.println(m1.get("bb"));     
                  //keySet()返回指定对象key的集合
        Set keySet=m1.keySet();
        for(Object key:keySet){
            System.out.println(key);
        }      
                  //values()返回指定对象value的集合
        Collection value=m1.values();
        for(Object val:value){
            System.out.println(val);
        }
        System.out.println();      
               //遍历操作
               //方法一:先得到键的集合,对键进行遍历时得到值
        for(Object key:keySet){
            Object val=m1.get(key);
            System.out.println(key+" : "+val);
        }
        System.out.println();       
               //方法二:得到键值对的集合
        for(Entry<String,Object> entry:m3.entrySet()){
            System.out.println(entry.getKey()+" : "+entry.getValue());
        }
        System.out.println();         
              //remove(Object key)移除指定key的元素,并且返回对应值的引用
        Object obj=m1.remove("aa");
        System.out.println(obj);
        System.out.println(m1.size());                
    }
}
技术分享

涉及的完整代码:http://www.cnblogs.com/jfl-xx/p/4707643.html

Java集合——Map接口

标签:

原文地址:http://www.cnblogs.com/jfl-xx/p/4707319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!