JAVA Map

Posted viper23333

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA Map相关的知识,希望对你有一定的参考价值。

Map


 

Map接口的概述 

我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同。

A:Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储

B:Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。

C:Collection中的集合称为单列集合,Map中的集合称为双列集合。

需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值


 

Map的功能

A:映射功能:
   V put(K key, V value) :以键=值的方式存入Map集合
B:获取功能:
  V get(Object key):根据键获取值   
int size():返回Map中键值对的个数
C:判断功能:   
boolean containsKey(Object key):判断Map集合中是否包含键为key的键值对   boolean containsValue(Object value):判断Map集合中是否包含值为value键值对   boolean isEmpty():判断Map集合中是否没有任何键值对
D:删除功能:
void clear():清空Map集合中所有的键值对 V remove(Object key):根据键值删除Map中键值对
E:遍历功能: Set
<Map.Entry<K,V>> entrySet():将每个键值对封装到一个个Entry对象中,再把所有Entry的对象封装到Set集合中返回 Set<K> keySet() :将Map中所有的键装到Set集合中返回 Collection<V> values():返回集合中所有的value的值的集合

 


HashMap两种遍历的方法

public static void main(String[] args) {
        //创建Map对象
        HashMap<String,String> hm = new HashMap<>();
        //添加映射关系
        hm.put("001","wndmd");
        hm.put("002","xswl");
        hm.put("003","awsl");

        //获取对象
        Set<Map.Entry<String, String>> entries = hm.entrySet();
        for (Map.Entry<String,String> s:entries
             ) {
            String key = s.getKey();
            String value = s.getValue();
            System.out.println(key + "---" + value);
        }

        //method(hm);
    }

    private static void method(HashMap<String, String> hm) {
        Set<String> keySet = hm.keySet();
        for (String keyset:keySet
             ) {
            String s = hm.get(keyset);
            System.out.println(keyset + "----" + s);
        }
    }

 

HashMap底层是哈希表数据结构,线程是不同步的,可以存入null键,但只有一个Null键。要保证键的唯一性,需要覆盖hashCode方法,和equals方法。线程非同步的

HashTable:底层是哈希表,不可以存入Null键Null值,线程是同步的

TreeMap:二叉树,线程不同步。可以用于给Map集中的key键进行排序。

 

 

 

 

以上是关于JAVA Map的主要内容,如果未能解决你的问题,请参考以下文章

将多个输出中的hls属性设置为单独的片段代码

JAVA由一个将JSONArray转成Map的需求引发的lambda语法的学习

java8 .stream().sorted().filter().map().collect()用法

201621123037 《Java程序设计》第9周学习总结

android google map supportmap片段无法在片段中初始化

Java如何快速构造JSON字符串