栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中Map集合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中Map集合

Map集合特点

Map是一个无序,不重复,无索引,键值对的集合。键不可以重复,值可以重复,键重复则后者覆盖前者,Map集合没有继承Collection接口。

Map中常用的API
package collection.map.d6_map_api;

import java.util.*;


public class MapDemo {
    public static void main(String[] args) {
        //1.创建map集合,添加数据并输出
        Map maps=new HashMap<>();
        maps.put("iphoneX",10);
        maps.put("娃娃",20);
        maps.put("iphoneX",100);//map集合后面重复的键对应的元素会覆盖前面重复的整个元素
        maps.put("huawei",100);
        maps.put("生活用品",10);
        maps.put("手表",10);

        System.out.println(maps);

        //2.清空集合
//        maps.clear();
//        System.out.println(maps);

        //3.判断集合是否为空,为空返回true,否则反之
        System.out.println(maps.isEmpty());

        //4.根据键获取对应值:public V get(Object key)
        Integer key=maps.get("huawei");
        System.out.println(key);

        System.out.println(maps.get("生活用品"));;

        //5.根据键删除整个元素(返回键的值)
        System.out.println(maps.remove("iphoneX"));
        System.out.println(maps);

        //6.判断是否包含某个键,包含返回true,否则反之
        System.out.println(maps.containsKey("huawei"));//true
        System.out.println(maps.containsKey("iphoneX"));//false

        //7.是否包含某个值
        System.out.println(maps.containsValue(100));
        System.out.println(maps.containsValue(55));

        //8.获取全部键的集合public Set keySet()
        Set keys=maps.keySet();
        System.out.println(keys);

        //9.获取全部的值集合:Collection values()
        Collection values=maps.values();
        System.out.println(values);

        //10.集合大小
        System.out.println(maps.size());

        //11.合并其他集合
        Map map1=new HashMap<>();
        map1.put("Java1",1);
        map1.put("Java2",100);

        Map map2=new HashMap<>();
        map2.put("Java2",1);//覆盖前面的Java2
        map2.put("Java3",100);

        map1.putAll(map2);//map2拷贝到map1

        System.out.println(map1);
        System.out.println(map2);

    }
}
Map集合的遍历

共有三种遍历方式:

1.键找值

2.键值对

3.Lambda表达式

package collection.map.d7_map_traversal;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;


public class MapDemo {
    public static void main(String[] args) {
        Map maps=new HashMap<>();
        //添加元素:无序,不重复,无索引。
        maps.put("iphoneX",10);
        maps.put("娃娃",20);
        maps.put("huawei",100);
        maps.put("生活用品",10);
        maps.put("手表",10);

        //1.键找值遍历
        //第一步:先拿到集合的全部键
        Set keys=maps.keySet();

        //第二步:遍历每个键,根据键提取值
        for (String key : keys) {
            int value =maps.get(key);
            System.out.println(key+"==>"+value);
        }

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

        //2.键值对遍历
        //第一步:把Map集合转化为Set集合
        Set> entries = maps.entrySet();

        //第二步:开始遍历
        for(Map.Entry entry:entries){
            String key=entry.getKey();
            int value=entry.getValue();
            System.out.println(key+"==>"+value);
        }

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

        //3.Lambda表达式
        maps.forEach(new BiConsumer() {
            @Override
            public void accept(String key, Integer value) {
                System.out.println(key+"==>"+value);
            }
        });

        System.out.println("----------------------------");
        //简化
        maps.forEach(( k,  v)-> {System.out.println(k+"==>"+v);});

    }

}
TreeMap集合

TreeMap集合自带排序(可排序,不重复(只要大小一样就认为重复),无索引)。

示例代码

package collection.map.d9_map_impl;

import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;

public class TreeMapDemo {
    public static void main(String[] args) {
        //TreeMap集合自带排序(可排序,不重复(只要大小一样就认为重复),无索引)
        //可自定义排序
        Map maps1=new TreeMap<>(new Comparator() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });
        maps1.put(2,"张三");
        maps1.put(4,"李四");
        maps1.put(1,"马五");
        maps1.put(19,"赵六");


        System.out.println(maps1);



    }
}

运行截图

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/839579.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号