Map

1. Map映射

  • Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的Key,另外一组用于保存Map里的Value。Map存放键值对的集合。
  • Map中的key和value都可以是任何引用类型的数据
  • Map中的Key不允许重复,即同一个Map对象的任何两个Key通过equals方法比较都返回false
  • Key和Value之间存在单向一对一关系,即通过指定的Key总能找到唯一的,确定的Value

2. 示例代码

package test.com.atguigu.javase.lesson7;

import com.atguigu.javase.lesson7.Person1;
import jdk.internal.org.objectweb.asm.tree.analysis.Value;
import org.junit.Test;
import org.junit.Before;
import org.junit.After;

import java.util.*;

/**
 * MapTest Tester.
 *
 * @author <Authors name>
 * @version 1.0
 * @since <pre>七月 5, 2018</pre>
 */
public class MapTestTest {

    /**
     * 1.添加
     * 2.查找&遍历
     * 3.删除
     * 4.工具方法
     */
    @Test
    public void testMap() {
        Map map = new HashMap();
        //V put(K key, V value):放入一堆键值对
        map.put("AA", new Person1("AA", 12));
        map.put("BB", new Person1("BB", 12));
        map.put("CC", new Person1("CC", 12));
        map.put("DD", new Person1("DD", 12));
        map.put("EE", new Person1("EE", 12));

        Map map1 = new HashMap();
        map1.put("ONE", "111");
        map1.put("TWO", "222");
        map1.put("THREE", "333");

        //boolean containsKey(Object key):Map中是否包含指定的key
        //若某个Key的equals方法和Map中已有的某个key比较返回true,则包含。
        System.out.println(map.containsKey("SS"));

        //boolean containsValue(Object value):Map中是否包含指定的value
        System.out.println(map.containsValue(new Person1("AA", 12)));

        //Set<Map.Entry<K,V>> entrySet():得到键值对对应的Entry的Set

        //boolean equals(Object o):比较Map是否相等
        System.out.println(map.equals(map1));

        //V get(Object key):根据key返回对应的value
        Object value = map.get("DD");
        System.out.println(value);

        //boolean isEmpty():检验Map是否为空
        System.out.println(map.isEmpty());

        //Set<K> keySet():返回key对应的集合,set集合
        Set keySet = map.keySet();
        System.out.println(keySet);

        //void putAll(Map<? extends K,? extends V> m):放入一组键值对
        map.putAll(map1);

        //V remove(Object key):移除指定键对应的键值对
        map.remove("CC");

        //int size():返回Map容量的大小
        System.out.println(map.size());

        //Collection<V> values():返回values对应的集合
        Collection values = map.values();
        System.out.println(values);

        //对Map进行遍历
        //1.遍历键的集合:keySet()
        Set keySet2 = map.keySet();
        //2.遍历值的集合:values()
        Collection values2= map.values();
        //3.遍历键值对的集合
        Iterator iterator = keySet2.iterator();
        while(iterator.hasNext()){
            Object key = iterator.next();
            Object val = map.get(key);
            System.out.println(key + " : " + val);
        }

        //void clear():清空Map
        map.clear();
    }
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值