Java学习笔记_05

Map接口

  • map中的集合,元素是成对存在的。每个元素由键与值两部分组成。map中的集合称为双列集合。
  • map中的集合不能包含重复的键,值可以重复,每个键只能对应一个值。
  • Map中常用的集合为HashMap集合,LinkedHashMap集合

HashMap基本方法

package cn.itcast.demo06;

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

public class MapDemo {
    public static void main(String[] args) {
        /*
            将键值对存储到集合中
            V put(K,V) K 作为键的对象,V 作为值的对象

            通过键获取值,如果没有这个键返回none
            V get(K)

            移除集合中键值对,返回移除之前的值
            V remove(K)
         */
        function();
    }

    public static void function() {
        Map<String, Integer> map = new HashMap<String, Integer>();
        map.put("a",1);
        map.put("b",2);
        map.put("c",3);
        Integer i =  map.put("c",5); // 返回被覆盖之前的值
        System.out.println(map);
        System.out.println(i);  // 输出3

        System.out.println(map.get("a"));  // 输出1
        map.remove("b");
        System.out.println(map);
    }
}

map集合遍历

KeySet方法

将map集合的键存入set集合,再对set集合遍历,下面是标准的遍历过程

package cn.itcast.demo06;

import java.security.Key;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MapDemo1 {
    public static void main(String[] args) {
        /*
            1.调用map集合的方法KeySet,所有键存到Set集合中
            2.遍历set集合,获取Set集合中的所有元素(Map中的键)
            3.调用map集合的方法get,通过键获取到值
         */
        function();
    }

    public static void function() {
        // 定义map集合
        Map<String, Integer> map = new HashMap<String, Integer>();
        map.put("a", 1);
        map.put("b", 2);
        map.put("c", 3);
        // 调用KeySet方法
        Set<String> set = map.keySet();

        // 遍历set集合
        // 使用迭代器遍历
        Iterator<String> it = set.iterator();
        while (it.hasNext()) {
            String key = it.next();
            Integer value = map.get(key);
            System.out.println(key + ":" + value);
        }
        System.out.println("=====================");

        // 使用增强for遍历
        for (String key : set) {
            Integer value = map.get(key);
            System.out.println(key + ":" + value);
        }
    }
}

entrySet方法

package cn.itcast.demo06;

import java.util.*;

public class MapDemo2 {
    public static void main(String[] args) {
        function();
    }

    /*
        map集合获取方式
        entrySet方法,键值对映射关系获取
        实现步骤:
        1.调用map集合方法entrySet()将集合中的映射关系d对象,存储到Set集合
            Set< Entry <K,V> >
        2.迭代set集合
        3.获取出Set集合的元素,是映射关系对象
        4.通过映射关系对象getKey,getValueh获取键值对

        创建内部类对象: 外部类.内部类 = new
     */

    public static void function() {
        Map<String, Integer> map = new HashMap<String, Integer>();
        map.put("a", 1);
        map.put("b", 2);
        map.put("c", 3);
        // Set 集合中存的是映射关系
        Set<Map.Entry<String, Integer>> set = map.entrySet();
        // 迭代set集合
        Iterator<Map.Entry<String, Integer>> it = set.iterator();
        while (it.hasNext()) {
            Map.Entry<String, Integer> entry = it.next();
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + ":" + value);
        }

        System.out.println("==============");

        // 增强for形式
        for (Map.Entry<String, Integer> entry : set) {
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + ":" + value);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/DylanYuan/article/details/84325800