章节七、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怎么存就怎么取,顺序一致

猜你喜欢

转载自www.cnblogs.com/luohuasheng/p/10646631.html