Java Map集合(以HashMap为例)

在java中,Map集合都是是双列集合,即存在一个键值对,通过键来定位值。

Map是双列集合的顶层接口,Map中所有的功能,双列集合的实现(比如HashMap)都可以使用

Map存储在java.util下,使用前需要导包。

import java.util.HashMap;
import java.util.Map;
public class mapDemo {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
    }
}

Map<String, String> map = new HashMap<String, String>();,尖括号中表明的是键值的数据类型,在这段代码中,键是字符串,值也是字符串。和List一样的是,在JDK7之前,需要书写两次键值的数据类型,而在JDK7之后,可以只书写前面的,比如Map<String, String> map = new HashMap<>();

Map集合的常见Api

方法名称 说明
V put(K key, V value) 添加/修改元素(一对键值对)
V remove(Object key) 删除元素(根据键值删除一对元素)
void clear() 移除全部键值对
boolean containsKey(Object key) 判断是否存在指定的键
boolean containsValue(Object value) 判断是否存在指定的值
boolean isEmpty() 判断集合是否为空
int size() 获取集合的长度,也就是集合中键值对的个数

V put(K key, V value) :添加/修改元素(一对键值对)

函数put使用的时候是:<集合名称>.put(<键>, <值>),可以新增元素或者修改元素,存在返回值,返回值的数据类型为值的数据类型,如果是添加元素则默认返回null,修改键值对的值,则返回被修改之前的值。

import java.util.HashMap;
import java.util.Map;
public class mapDemo {
    public static void main(String[] args) {
        // 1. 创建Map
        Map<String, String> map = new HashMap<String, String>();
        // 2. 使用V put(K key, V value)添加键值对
        map.put("LinCat", "坏猫");
        map.put("BingCat", "好猫");
        // 3. 打印集合
        System.out.println(map);
        // 4. put方法存在返回值,返回值为 键值对中值的数据类型
        // 如果是新增键值对,则返回null,
        System.out.println(map.put("Laffey", "不是猫"));
        // 如果是修改键值对的值,则返回被修改之前的值
        System.out.println(map.put("Laffey", "RBQ"));
    }
}

代码含义:

  1. Map<String, String> map = new HashMap<String, String>(); -> 创建Map集合
  2. map.put("LinCat", "坏猫");map.put("BingCat", "好猫"); -> 对map新增两条数据,第一条键是LinCat、值是坏猫;第二条键是BingCat、值是好猫
  3. System.out.println(map); -> 打印集合map,返回值形如Key=Value,在这里应该返回如下:

  4. System.out.println(map.put("Laffey", "不是猫")); -> 打印新增一个键值对的返回值,对于put方法,新增键值的时候统一返回null,无论值的数据类型。

  5. System.out.println(map.put("Laffey", "RBQ")); -> 打印修改一个值的返回值,使用put方法,在修改键值对值的时候,返回的是被修改的原始数据的值,数据类型是键值对中值的数据类型。

所以总的运行结果是:

需要注意的是, HashMap是无序,所以直接打印HashMap的对象时,输出顺序可能和输入顺序不一致。

V remove(Object key):删除元素(根据键值删除一对元素)

函数remove使用的时候是:<集合名称>.remove(<键>),用于通过键来删除一对键值对,存在返回值,返回值的数据类型为值的数据类型,如果无效的删除则会返回null,否则返回被删除键值对的值。

import java.util.HashMap;
import java.util.Map;
public class mapDemo {
    public static void main(String[] args) {
        // 1. 创建Map
        Map<String, String> map = new HashMap<String, String>();
        // 2. 添加键值对
        map.put("LinCat", "坏猫");
        map.put("BingCat", "好猫");
        map.put("Laffey", "RBQ");
        // 3. 使用 V remove(Object key) 通过键删除一对数据
        map.remove("LinCat");
        System.out.println(map.remove("BingCat"));
        System.out.println(map.remove("BingCat"));
    }
}

代码含义:

  1. Map<String, String> map = new HashMap<String, String>(); -> 创建Map集合
  2. map.put("LinCat", "坏猫");map.put("BingCat", "好猫");map.put("Laffey", "RBQ"); -> 添加键值对
  3. map.remove("LinCat"); -> 移除键值为LinCat的键值对
  4. System.out.println(map.remove("BingCat")); -> 打印删除键值对的返回结果,对于remove方法,返回值是被删除键值对的值。重复删除或者删除一个不存在的键,则统一返回null。

运行结果:

void clear():移除全部键值对

函数clear使用的时候是:<集合名称>.clear(),用于移除全部键值对,没有返回。

import java.util.HashMap;
import java.util.Map;
public class mapDemo {
    public static void main(String[] args) {
        // 1. 创建Map
        Map<String, String> map = new HashMap<String, String>();
        // 2. 添加键值对
        map.put("LinCat", "坏猫");
        map.put("BingCat", "好猫");
        map.put("Laffey", "RBQ");
        System.out.println(map);
        // 3. 使用 void clear() 清空全部键值对
        map.clear();
        System.out.println(map);
    }
}

代码含义:

  1. Map<String, String> map = new HashMap<String, String>(); -> 创建Map集合
  2. map.put("LinCat", "坏猫");map.put("BingCat", "好猫");map.put("Laffey", "RBQ"); -> 添加键值对
  3. System.out.println(map); -> 打印集合map
  4. map.clear(); -> 清空全部键值对

boolean containsKey(Object key):判断是否存在指定的键

函数containsKey使用的时候是:<集合名称>.containsKey(<键>),返回值是布尔类型。

import java.util.HashMap;
import java.util.Map;
public class mapDemo {
    public static void main(String[] args) {
        // 1. 创建Map
        Map<String, String> map = new HashMap<String, String>();
        // 2. 添加键值对
        map.put("LinCat", "坏猫");
        map.put("BingCat", "好猫");
        map.put("Laffey", "RBQ");
        // 3. 使用 boolean containsKey(Object key) 判断是否存在指定的键
        // 查找一个存在的键
        System.out.println(map.containsKey("LinCat"));
        // 查找一个不存在的键
        System.out.println(map.containsKey("CatHouse"));
    }
}
  1. Map<String, String> map = new HashMap<String, String>(); -> 创建Map集合
  2. map.put("LinCat", "坏猫");map.put("BingCat", "好猫");map.put("Laffey", "RBQ"); -> 添加键值对
  3. System.out.println(map.containsKey("LinCat"));System.out.println(map.containsKey("CatHouse")); -> 打印查找键是否存在

运行结果:

boolean containsValue(Object value):判断是否存在指定的值

函数containsValue使用的时候是:<集合名称>.containsValue(<值>),返回值是布尔类型。

import java.util.HashMap;
import java.util.Map;
public class mapDemo {
    public static void main(String[] args) {
        // 1. 创建Map
        Map<String, String> map = new HashMap<String, String>();
        // 2. 添加键值对
        map.put("LinCat", "坏猫");
        map.put("BingCat", "好猫");
        map.put("Laffey", "RBQ");
        // 3. 使用 boolean containsValue(Object key) 判断是否存在指定的值
        // 查找一个存在的值
        System.out.println(map.containsValue("好猫"));
        // 查找一个不存在的值
        System.out.println(map.containsValue("超级大好猫"));
    }
}
  1. Map<String, String> map = new HashMap<String, String>(); -> 创建Map集合
  2. map.put("LinCat", "坏猫");map.put("BingCat", "好猫");map.put("Laffey", "RBQ"); -> 添加键值对
  3. System.out.println(map.containsValue("好猫"));System.out.println(map.containsValue("超级大好猫")); -> 打印查找键是否存在

运行结果:

boolean isEmpty():判断集合是否为空

函数isEmpty使用的时候是:<集合名称>.isEmpty(),返回值是布尔类型。

import java.util.HashMap;
import java.util.Map;
public class mapDemo {
    public static void main(String[] args) {
        // 1. 创建Map
        Map<String, String> map = new HashMap<String, String>();
        // 2. 添加键值对
        map.put("LinCat", "坏猫");
        map.put("BingCat", "好猫");
        map.put("Laffey", "RBQ");
        // 3. 使用 boolean isEmpty() 判断集合是否为空
        System.out.println(map.isEmpty());
    }
}
  1. Map<String, String> map = new HashMap<String, String>(); -> 创建Map集合
  2. map.put("LinCat", "坏猫");map.put("BingCat", "好猫");map.put("Laffey", "RBQ"); -> 添加键值对
  3. System.out.println(map.isEmpty()); -> 打印查找集合是否为空

int size():获取集合的长度,也就是集合中键值对的个数

函数size使用的时候是:<集合名称>.size(),返回值是int类型。

import java.util.HashMap;
import java.util.Map;
public class mapDemo {
    public static void main(String[] args) {
        // 1. 创建Map
        Map<String, String> map = new HashMap<String, String>();
        // 2. 添加键值对
        map.put("LinCat", "坏猫");
        map.put("BingCat", "好猫");
        map.put("Laffey", "RBQ");
        // 3. 使用 int size() 输出集合长度
        System.out.println(map.size());
    }
}
  1. Map<String, String> map = new HashMap<String, String>(); -> 创建Map集合
  2. map.put("LinCat", "坏猫");map.put("BingCat", "好猫");map.put("Laffey", "RBQ"); -> 添加键值对
  3. System.out.println(map.size()); -> 输出集合长度

函数remove使用的时候是:<集合名称>.remove(<键>),用于通过键来删除一对键值对,存在返回值,返回值的数据类型为值的数据类型,如果无效的删除则会返回null,否则返回被删除键值对的值。

文章「Java Map集合(以HashMap为例)」,由本站用户「admin」发布。文章仅代表admin观点,不代表本站立场。
页面网页地址「https://xiaozhiyuqwq.top/p/2947」。
如您对文章及其附件提出版权主张,或进行引用转载等,请查看我们的【版权声明】
本页面暂时没有评论......

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇