Java集合——Map接口

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

时间: 2024-10-27 17:02:13

Java集合——Map接口的相关文章

Java集合Map接口与Map.Entry学习

Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) 添加.删除操作: Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像.如果该关键字已经存在,那么与此关键字相关的新值将取代旧值.方法返回关键字的旧值,如果关键字原先并不存在,则返回null Object remove(Object

Java Core - Map接口

Map:The java.util.Map interface represents a mapping between a key and a value. The Map interface is not a subtype(子类型) of the Collectioninterface.Therefore it behaves a bit different from the rest of the collection types.java.util.Map接口表示键和值之间的映射. M

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 contai

JAVA集合------Map (HashMap实现)

package java_util_map; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class MapTest01 { public static void main(String[] args) { /*  * Map是一个接口,HashMap是Map的一个实现类  

Java中map接口 遍历map

java集合框架用于存储数据,也被称为集合类 位于java.util包下 java.util包下常用接口和类 Collection和Map是Java集合框架的根接口 List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问. Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因). Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value. Map接口 Map

java集合-Map

面试当中经常有被问道对java集合的理解,一直都是停留在java面试答案的水平,这次终于想好好研究一下了. Java的集合一般相对于数组去比较,数组是大小固定的并且同一个数组只能存放类型一样的数据.数组的定义就是相同类型.固定长度的一组数据,一旦被初始化,长度不可更改.所以如果长度不确定,一种方法是初始化的时候长度申请足够大,但这样容易造成内存的浪费:另一种就是用集合.Java集合主要分为三种类型: Set(集)->接口Collection List(列表)->接口Collection Map

Java容器Map接口

Map接口容器存放的是key-value对,由于Map是按key索引的,因此 key 是不可重复的,但 value 允许重复. 下面简单介绍一下Map接口的实现,包括HashMap,LinkedHashMap,WeakHashMap,Hashtable,IdentityHashMap和TreeMap.需要注意的是,Map接口并没有继承Collection接口! 1.HashMap HashMap 继承于AbstractMap,实现了Cloneable.java.io.Serializable接口

关于JAVA集合MAP处理一对多的关系

相信很多人都对java的集合知识都有所了解,这是一些基础知识,而且也是JAVA开发的必备知识,对于开发经验稍微丰富一些的工程师,对于三个集合接口的应用肯定也是炉火纯青了.好了,不废话,直奔主题:map集合处理一对多. map:其结构是{key1=value1,key2=value2,key3=value1,key4=value3……} key:唯一,不可可重复. value:可重复,任何元素. 而map处理一对多,就是利用了map的特性. 直接上代码: import java.util.Hash

Java集合-07Map接口及其抽象类

简介 前面把List基本记录完了,对于集合List,Map,Set,因为Set基于Map,故先记录Map. 这一篇主要记录Map接口及其抽象类(java version:1.8) 整体架构 参考上图,整体分析如下 Map 映射接口,定义了存储内容为键值对(key-value)及map的基本操作方法 AbstractMap 该抽象类对Map接口有了整体的实现,简化实现Map接口所需要的工作 SortedMap 该接口更一步的对key提供了一个排序,该Map通过Comparable针对keys提供了