Java ---------- 集合(三) Map接口

Map 接口

存储一组成对的  键(key)------- 值(value)对象,提供key 到value 的映射,通过key 来检索。

特点: key 不要求有序,不允许重复。value 不要求有序但允许重复

常用方法:

Object put(Object key,Object value)   :将相互关联的 key--value 放入集合,如果map 接口中包含了key对应的value 则旧值被替换

Object remove(Object key) : 从当前集合中删除与指定key 相关的映射,并返回该key 关联的旧value,没关返回null

Object get(Object key) : 获得与key 相关的value,如果key 不关联人和非null 的值,则返回null

boolean containsKey(Object key)  判断集合中是否存在key

boolean containsValue(Object Value) : 判断集合中是否存在value

boolean isEmpty() :  判断集合中是否存在元素

void clear()  : 清除集合中所有元素

int size():    返回集合中元素数量

Set keySet() :获取所有key 的集合

Collection values() : 获取所有value 集合

HashMap 类

            数据添加到HashMap 集合后,所有的数据类型将转换为Object 类型,取出的时候注意强转

            HashMap类不保证映射的顺序,特别是不保证顺序恒久不变

package com.obge.contr;

import java.util.HashMap;
import java.util.Map;

import com.stu.contr.Dog;

public class MapStu {
    public static void main(String[] args) {
        Dog dog1 = new Dog("小白",10);
        Dog dog2 = new Dog("大黄",11);
        //创建保存键 - 值对 的集合对象  向上转型
        Map mapDog = new HashMap();
        //使用put 方法按照键 -- 值的方式存储  均是object 类型,放入其他类型的会自动转换为object
        mapDog.put(1001, dog1);
        mapDog.put(1002, dog2);
        //输出存放了有多少个
        System.out.println("存了"+mapDog.size());
        //输出  键集
        System.out.println("键来:"+mapDog.keySet());
        //值来
        System.out.println(mapDog.values());
        //根据键获取值
        if(mapDog.containsKey(1001)) {
            //根据键值获取 对应的值对象
            Dog dog = (Dog)mapDog.get(1001);
            System.out.println("键名为1001的对应的名字为:"+dog.getName() );
                    
        }

        int key = 1002;
        if(mapDog.containsKey(key)) {
            //根据键值获取 对应的值对象
            Dog dog = (Dog)mapDog.get(key);
            System.out.println("键名为"+key+"的对应的名字为:"+dog.getName() );
                    
        }
        //判断值是否存在
        System.out.println("dog2 是否存在:"+mapDog.containsValue(dog2));      
        
    }
    

}

猜你喜欢

转载自www.cnblogs.com/obge/p/12493374.html