集合---Map

来源:互联网 发布:sql中两个select语句 编辑:程序博客网 时间:2024/06/08 08:01

一.Map接口的概述

  1. Map集合<K,V>:以一种键值对而存在
  2. Map集合:针对的是键有效,跟值没有关系,键是唯一的,值是可以重复的
  3. Map和Collection区别
    Map集合:是一种键值对的一种映射关系,键是唯一的,值是可以重复的!(双列集合)
    hashMap,treeMap是其子实现类
    Collection:集合框架的顶层的根接口,有两个子接口:List(元素可以重复),set(元素不可以重复的),单列集合
    ArrayList,Vector,LinkedList是List的子实现类
    treeSet,hashSet是Set的子实现类

二.Map集合的功能

添加功能:

  1. V put(K key,V value):添加元素(键和值的具体元素)
    其他用法:
    如果键是第一次存储的时候,返回值null
    如果键已经存在,再次存储的时候将第一次的值返回,并且后面的值覆盖掉前面的值
import java.util.HashMap;import java.util.Map;public class Demo1 {    public static void main(String[] args) {        //创建map集合对象        Map<String,String> m = new HashMap<String,String>();        //添加元素        m.put("01", "王一");        m.put("02", "王二");        m.put("03", "王三");        m.put("04", "王四");        System.out.println(m);    }}结果:{01=王一, 02=王二, 03=王三, 04=王四}

删除功能:

  1. void clear():从此映射中移除所有映射关系(移出所有的键和值)
  2. V remove(Object key):删除键,返回值
import java.util.HashMap;import java.util.Map;public class Demo1 {    public static void main(String[] args) {        //创建map集合对象        Map<String,String> m = new HashMap<String,String>();        //添加元素        m.put("01", "王一");        m.put("02", "王二");        m.put("03", "王三");        m.put("04", "王四");        //删除键,返回值        System.out.println(m.remove("01"));        System.out.println(m);        //清除        m.clear();        System.out.println(m);    }}结果:王一{02=王二, 03=王三, 04=王四}{}

判断功能:

  1. boolean containsKey(Object key):判断当前Map集合中是否存在key:键
  2. boolean containsValue(Object value):判断当前Map姐中是否存在value值
public class Demo1 {    public static void main(String[] args) {        //创建map集合对象        Map<String,String> m = new HashMap<String,String>();        //添加元素        m.put("01", "王一");        m.put("02", "王二");        m.put("03", "王三");        m.put("04", "王四");        System.out.println(m.containsKey("01"));        System.out.println(m.containsValue("王五"));    }}结果:truefalse

获取功能:

  1. V get(Object key):返回指定键所映射的值
  2. Set<K> keySet():获取所有的键的集合
  3. Collection<V> values():获取所有的值的
    集合
  4. Set<Map.Entry<K,V>> entrySet():获取键值对对象
import java.util.HashMap;import java.util.Map;public class Demo1 {    public static void main(String[] args) {        //创建map集合对象        Map<String,String> m = new HashMap<String,String>();        //添加元素        m.put("01", "王一");        m.put("02", "王二");        m.put("03", "王三");        m.put("04", "王四");        System.out.println(m.get("01"));        System.out.println(m.keySet());        System.out.println(m.values());        System.out.println(m.entrySet());    }}结果:王一[01, 02, 03, 04][01=王一, 02=王二, 03=王三, 04=王四]

### 长度功能
1. int size():求集合长度

import java.util.HashMap;import java.util.Map;public class Demo1 {    public static void main(String[] args) {        //创建map集合对象        Map<String,String> m = new HashMap<String,String>();        //添加元素        m.put("01", "王一");        m.put("02", "王二");        m.put("03", "王三");        m.put("04", "王四");        System.out.println(m.size());    }}结果:4

三.Map集合的遍历方式

  1. 方式一:
    1)获取所有的键的集合keySet()(这种比较常用)
    2)遍历键的集合,让键找值
    3)输出
  2. 方式二:
    1)获取键值对对象的集合
    2)遍历键值对对象的集合,
    3)通过键值对对象找键和值
import java.util.HashMap;import java.util.Map;import java.util.Set;import java.util.Map.Entry;public class Demo1 {    public static void main(String[] args) {        //创建map集合对象        Map<String,String> m = new HashMap<String,String>();        //添加元素        m.put("01", "王一");        m.put("02", "王二");        m.put("03", "王三");        m.put("04", "王四");        //方式一:        //找键的集合        Set<String> s = m.keySet();        //通过键的集合找值        for(String key : s){            String value = m.get(key);            //输出            System.out.println(key+"="+value);        }        System.out.println("-----------");        //方式二:        //获取键值对对象        Set<Entry<String, String>> enterySet = m.entrySet();        for(Entry<String,String> e : enterySet){            //获取键            String k = e.getKey();            //获取值            String v = e.getValue();            System.out.println(k+"="+v);        }    }}结果:01=王一02=王二03=王三04=王四-----------01=王一02=王二03=王三04=王四
原创粉丝点击