Map 集合基本功能

java map的顺序 跟put的顺序是一致的吗 java中map.put_开发语言


我们用代码演示一下

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

public class text {
    public static void main(String args[])  {
        Map<String,String> map = new HashMap<String,String>();
        map.put("嬴政","白起");
        map.put("刘备","赵云");
        map.put("勾践","管仲");
        map.put("姬发","哪吒");
        map.put("孙策","周瑜");
        map.put("刘邦","张良");
        System.out.println(map);
    }
}

运行结果如下

java map的顺序 跟put的顺序是一致的吗 java中map.put_键值对_02


我们可以看到 这里我们通过import引入了java.util下的Map和HashMap

然后我们通过HashMap类实现了Map接口 map就成为了一个Map集合 他规定 集合中的键和值都是String字符串类型

然后我们用了Map的第一个方法 put添加元素

我们以 君为键 以臣为值
添加了六对 君臣 组合 然后通过System.out.println将 Map打印出来

这样就演示出了 我们第一个put方法的作用

我们来看 remove 删除方法
然后我们在 System.out.println(map);前加一句

System.out.println(map.remove("勾践"));

运行结果如下

java map的顺序 跟put的顺序是一致的吗 java中map.put_键值对_03


我们 remove 传了 勾践 方法返回了 管仲

我们可以看到后面打印的Map 真的就少了 勾践对管仲 这对君臣组合就不见了

说明 remove接受一个参数 是键 匹配和参数相同的键 然后找到后删除这对键值对 并将键对应的值返回给你

如果你给remove传递值 他匹配不到键 则不会删除数据 也不会报错 方法会返回一个 null给你

我们来看 clear清空 方法
然后我们将 System.out.println(map.remove(“勾践”));换成

map.clear();

运行结果如下

java map的顺序 跟put的顺序是一致的吗 java中map.put_开发语言_04


可以看到这一个clear直接就给我们一个一个加进去的元素直接全干掉了

map.clear的作用就是清空整个集合的元素

比较简单粗暴

然后我们来尝试 containsKey
将map.clear(); 换成

System.out.println(map.containsKey("孙策"));

运行结果如下

java map的顺序 跟put的顺序是一致的吗 java中map.put_System_05


从下面整个map输出的结果 我们可以确定的是 孙策这个键 是存在的 所以containsKey返回了true

然后我们用一个没有的键

将 System.out.println(map.containsKey(“孙策”));改成

System.out.println(map.containsKey("曹丕"));

java map的顺序 跟put的顺序是一致的吗 java中map.put_键值对_06


因为曹丕这个键不存在 所以containsKey返回了false

containsKey的作用就是判断 map中是否有某一个键

containsValue判断值是否存在

containsValue和containsKey的基本用法是一样 但他是判断是否有指定的值

isEmpty非空判断
我们将
System.out.println(map.containsKey(“曹丕”));
换成

System.out.println(map.isEmpty());

运行结果如下

java map的顺序 跟put的顺序是一致的吗 java中map.put_jvm_07


我们 isEmpty 返回了 false 因为我们集合中是有元素的啊

我们把之前所有的 put去掉

public static void main(String args[])  {
    Map<String,String> map = new HashMap<String,String>();
    System.out.println(map.isEmpty());
    System.out.println(map);
}

运行结果如下

java map的顺序 跟put的顺序是一致的吗 java中map.put_System_08


这是我们的集合就是空的了 isEmpty返回了true

size获取集合键值对数量
我们将 System.out.println(map.isEmpty());改成

System.out.println(map.size());

运行结果如下

java map的顺序 跟put的顺序是一致的吗 java中map.put_jvm_09


因为我们里面没有键值对 集合都是空的 所以他返回了0 表示有0个键值对

那么我们把添加元素的代码加回去

public static void main(String args[])  {
    Map<String,String> map = new HashMap<String,String>();
    map.put("嬴政","白起");
    map.put("刘备","赵云");
    map.put("勾践","管仲");
    map.put("姬发","哪吒");
    map.put("孙策","周瑜");
    map.put("刘邦","张良");
    System.out.println(map.size());
    System.out.println(map);
}

运行结果如下

java map的顺序 跟put的顺序是一致的吗 java中map.put_System_10


此时我们size就返回了个6 表示我们有六个键值对