章节七6-Map集合的区别

Posted 时光以北暮南城

tags:

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

一、通过entrySet取出Map中的元素

package ZangJie7;

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

public class MapsIteration {

    public static void main(String[] args) {
//        HashMap不保证有序
        Map<Integer,String> hashMap = new HashMap<Integer,String>();
        hashMap.put(1,"BwM");
        hashMap.put(6,"AuDi");
        hashMap.put(4,"HonDo");
        
/*        如何取出Map中的元素?
        Mao中有键值对的映射关系,可以用Entery来取出集合中元素,Entery是Map集合中的方法,
        这个方法返回的是Map方法中包含的映射关系的set集合,返回的是一个set集合,用高级for循环可以
        遍历set集合
        */
//        Map集合不能直接用高级for来取出所有元素,只能通过调用他里面的方法返回set集合,然后再遍历set集合
        
        for(Map.Entry<Integer,String> entry:hashMap.entrySet()) {
            
//            定义一个变量来接收键值对中的键,int是键的返回值类型,类型的数据接收时就需要用相同的类型来接收
//            getKey()方法用来返回键值对中的键
            int key = entry.getKey();
//            返回键值对映射关系中的值
            String value = entry.getValue();
            System.out.println("键"+key+"值"+value);
        }

    }

}

返回结果为:

 

二、通过keySet取出Mao集合中的值

package ZangJie7;

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

public class MapsIteration {

    public static void main(String[] args) {
//        HashMap不保证有序
        Map<Integer,String> hashMap = new HashMap<Integer,String>();
        hashMap.put(1,"BwM");
        hashMap.put(6,"AuDi");
        hashMap.put(4,"HonDo");
        
//        通过keySet取出集合中的值:
//        通过这个方法可以取出集合中所有的键,放到set中,然后用高级for循环来遍历这些键
        for(Integer key:hashMap.keySet()) {
//            key存的是keySet()中的键,变量名就叫key,所以在下面的“.get(key)”中传的就是key,这样就能够通过键取出对应的值
            String value = hashMap.get(key);
            System.out.println("键"+key+"值"+value);

        }
        
    }

}

运行结果为:

 

三、LinkHashMap

//        LinkedHashMap可以保证有序,怎么存值就怎么取值
        Map<Integer,String> leHashMap = new LinkedHashMap<Integer,String>();
        leHashMap.put(1,"BwM");
        leHashMap.put(6,"AuDi");
        leHashMap.put(4,"HonDo");
        for(Integer key:leHashMap.keySet()) {
//            key存的是keySet()中的键,变量名就叫key,所以在下面的“.get(key)”中传的就是key,这样就能够通过键取出对应的值
            String value = leHashMap.get(key);
            System.out.println("键"+key+"值"+value);
        }

运行结果为:

 

四、TreeMap

//        TreeMap自然排序,对Map集合中的键进行排序
        Map<Integer,String> tMap = new TreeMap<Integer,String>();
        tMap.put(1,"BwM");
        tMap.put(6,"AuDi");
        tMap.put(4,"HonDo");
        for(Integer key:tMap.keySet()) {
//            key存的是keySet()中的键,变量名就叫key,所以在下面的“.get(key)”中传的就是key,这样就能够通过键取出对应的值
            String value = tMap.get(key);
            System.out.println("键"+key+"值"+value);
        }

运行结果为:

 

 

五、HashMap、LinkeHashMap、TreeMap的区别

1、HashMap数据结构是hash表结构,不保证有序,允许有空键空值

2、TreeMap自然排序方式,可以都Map集合中的键进行排序

3、LinkeHashMap怎么存就怎么取,顺序一致

以上是关于章节七6-Map集合的区别的主要内容,如果未能解决你的问题,请参考以下文章

代码片段 - Golang 实现集合操作

laravel特殊功能代码片段集合

这两个代码片段有啥区别?

这两个代码片段之间有区别吗?如果有,那又如何? [复制]

peptide map DDA和IMS有啥区别

金蝶handler中 collection 代码片段理解