首页 > 编程语言 >Java Map 通过key过滤

Java Map 通过key过滤

时间:2023-07-12 17:12:20浏览次数:40  
标签:Map Java map util java key put import

pom文件:

<dependency>
	<groupId>com.google.guava</groupId>
	<artifactId>guava</artifactId>
	<version>31.1-jre</version>
</dependency>

代码:

package com.example.core.utils.collections;

import com.google.common.collect.Maps;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;

public class FilterMapByKeyTest {
    public static void main(String[] args) {
        // 过滤生成map<3的数据
        Map<Integer, String> map = new HashMap<>();
        map.put(1,"a");
        map.put(2,"b");
        map.put(3,"c");
        map.put(4,"d");
        // 方法一:Java原生Map遍历过滤
        Map<Integer, String> newMap = new HashMap<>();
        Set<Map.Entry<Integer, String>> entries = map.entrySet();
        for (Map.Entry<Integer, String> entry : entries) {
            if (entry.getKey() < 3) {
                newMap.put(entry.getKey(),entry.getValue());
            }
        }
        System.out.println(newMap);

        // 方法二:Java8新特性 Lambda表达式过滤
        Map<Integer, String> newMap2 = map.entrySet().stream().filter(m -> m.getKey() < 3).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
        System.out.println(newMap2);

        // 方法三:google.guava 方法
        Map<Integer, String> newMap3 = Maps.filterKeys(map, m -> m < 3);
        System.out.println(newMap3);
    }
}

标签:Map,Java,map,util,java,key,put,import
From: https://www.cnblogs.com/wuzimeimei/p/17548229.html

相关文章

  • 你信不信,只要学几天javascript就可以使用纯原生实现五星评分效果 【附完整代码】
    ......
  • Java复制(拷贝)数组的4种方法:arraycopy()方法、clone() 方法、copyOf()和copyOfRange
    http://c.biancheng.net/view/924.html所谓复制数组,是指将一个数组中的元素在另一个数组中进行复制。本文主要介绍关于 Java 里面的数组复制(拷贝)的几种方式和用法。在Java中实现数组复制分别有以下4种方法:Arrays类的copyOf()方法Arrays类的copyOfRange()方法Syst......
  • 初识Java
    Java帝国三高:高可用、高性能、高并发Java三大版本JavaSE:标准版(桌面程序、控制台开发...)JavaME:嵌入式开发(手机,小家电...)JavaEE:E企业级开发(web端、服务器开发...)Java开发常用平台、系统、工具构建工具:Maven、Ant、Jekins应用服务器:Tomcat,Jetty,Jboss,WebsphereWeb开......
  • Java实现浏览器端大文件分片上传功能
    ​ 第一点:Java代码实现文件上传FormFilefile=manform.getFile();StringnewfileName= null;Stringnewpathname= null;StringfileAddre= "/numUp";try{    InputStreamstream=file.getInputStream();// 把文件读入    StringfilePath=request.......
  • Java实现浏览器端大文件分片上传方案
    ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数下面直接贴代码吧,一些难懂的我大部分都加上注释了:上传文件实体类:看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。pub......
  • Java中Timer的用法
    用法很简单,new一个timer,然后写一个timertask的子类即可。代码如下:packagecomz.autoupdatefile;importjava.util.Timer;importjava.util.TimerTask;publicclassM{publicstaticvoidmain(String[]args){//TODOtodo.generatedbyzoe......
  • 跨平台GUI开发技术:QT,GTK+, C#(WinForm/WPF), Java(Swing/AWT/JavaFX), Electron, comp
    1.Compose-multiplatformJetbrian推出的跨全平台开发组件技术,android/ios/desktop(win,linux,mac)/web,目前生态完善中,还不够成熟,但有潜力,支持原生接口调用,kotlin作为主要语言。https://www.jetbrains.com/zh-cn/lp/compose-multiplatformhttps://github.com/JetBrains/compose-......
  • Java IO:字节流、字符流、缓冲流
    原文:https://blog.csdn.net/mu_wind/article/details/108674284流的特性有下面几点:先进先出:最先写入输出流的数据最先被输入流读取到。顺序存取:可以一个接一个地往流中写入一串字节,读出时也将按写入顺序读取一串字节,不能随机访问中间的数据。(RandomAccessFile除外)只读或只写:......
  • Java8新特性之parallelStream详解
    一、什么是流?Stream是java8中新增加的一个特性,首先Stream不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的Iterator。原始版本的Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作;高级版本的Stream,用户只要给出需要对其包含的元素......
  • Java实现浏览器端大文件分片上传技术
    ​ javaweb上传文件上传文件的jsp中的部分上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1.通过form表单向后端发送请求         <formid="postForm"action="${pageContext.request.contextPath}/UploadServlet"method="post"e......