小编典典

如果您使用NavigableMap(例如TreeMap),则可以利用基础树数据结构的好处,并执行以下操作(非常O(lg(N))复杂):

public SortedMap getByPrefix(

NavigableMap myMap,

String prefix ) {

return myMap.subMap( prefix, prefix + Character.MAX_VALUE );

}

更扩展的示例:

import java.util.NavigableMap;

import java.util.SortedMap;

import java.util.TreeMap;

public class Test {

public static void main( String[] args ) {

TreeMap myMap = new TreeMap();

myMap.put( "111-hello", null );

myMap.put( "111-world", null );

myMap.put( "111-test", null );

myMap.put( "111-java", null );

myMap.put( "123-one", null );

myMap.put( "123-two", null );

myMap.put( "123--three", null );

myMap.put( "123--four", null );

myMap.put( "125-hello", null );

myMap.put( "125--world", null );

System.out.println( "111 \t" + getByPrefix( myMap, "111" ) );

System.out.println( "123 \t" + getByPrefix( myMap, "123" ) );

System.out.println( "123-- \t" + getByPrefix( myMap, "123--" ) );

System.out.println( "12 \t" + getByPrefix( myMap, "12" ) );

}

private static SortedMap getByPrefix(

NavigableMap myMap,

String prefix ) {

return myMap.subMap( prefix, prefix + Character.MAX_VALUE );

}

}

输出为:

111 {111-hello=null, 111-java=null, 111-test=null, 111-world=null}

123 {123--four=null, 123--three=null, 123-one=null, 123-two=null}

123-- {123--four=null, 123--three=null}

12 {123--four=null, 123--three=null, 123-one=null, 123-two=null, 125--world=null, 125-hello=null}

2020-10-25

java map prefix_从键以特定表达式开头的Map中获取所有值的最快方法相关推荐

  1. Map集合中获取key-value值的方法

    Map中获取key-value值的方法 Map<K,V>集合是一种键值映射形式的集合.当调用put(K key,V value)方法把数据存到Map中后,如何把Map中的key值和valu ...

  2. java 获取键盘点击_Java中获取键盘输入值的三种方法介绍

    程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这 ...

  3. java如何取到配置文件中值,从配置文件中获取配置信息的几种方法

    1.利用ResourceBundle类从properties文件中获取配置信息 创建配置文件并写入配置信息 image.png 使用以下代码可以轻松获取配置信息 package com.course. ...

  4. java 取数组的前90位_java 从int数组中获取最大数的方法

    java 从int数组中获取最大数的方法 首先要有数组的概念吧,知道什么是数组,简单讲就是存放一组数据的一个组合,就是一个数组....哈哈 已知一个int数组, 编程从数组中获取最大数. 思路分析: ...

  5. java asynctask完成_如何传递参数并从AsyncTask类中获取结果?

    我想要做的就是使用AsyncTask来执行http请求 . 这是我的代码到目前为止,但我不知道如何从我的主要活动中调用此类以及如何获得结果 . 我有一个String var"uri" ...

  6. java取子串_Java中获取子字符串的几种方法示例

    首先假如有这样一串字符串: String s = "共 100 页, 1 2 3 4..."; 假如我想把"100"给取出来,该如何做? 方法一: 采用spli ...

  7. java类中获取tomcat下的webap路径方法

    1.String url = req.getSession().getServletContext().getRealPath("");输出的是:D:\4_tomcat7\weba ...

  8. java 判断单元格为空_java – 如何在Apache POI中获取Excel空单元格值?

    我有一个巨大的excel文件与吨的列,看起来像这样: – Column1 Column2 Column3 Column4 Column5 abc def ghi mno pqr ...... 这是我写 ...

  9. 如何从Java中的字符串值获取枚举值?

    说我有一个枚举 public enum Blah {A, B, C, D } 我想找到一个字符串的枚举值,例如"A"就是Blah.A 怎么可能做到这一点? Enum.valueOf ...

最新文章

  1. c executable和c library_双功能超薄Fe-Nx-C单原子催化剂用于同时制备乙烯和芳基氯化物...
  2. 把Vi改造成Vim的作者,现在又让Vim快了70倍
  3. CodeBlacks16\17\20版本下载
  4. android 8.0手机无法更新版本,安卓手机升级安卓8.0后 系统以后可能都无法回退
  5. 傅立叶变换、拉普拉斯变换、Z变换之间 篇二
  6. node.js热部署
  7. EMNLP'21 | 让压缩语言模型自动搜索最优结构!
  8. 从点到线:逻辑回归到条件随机场
  9. numpy存储特征:消耗内存和计算速度测试
  10. window7安装MongoDB详细步骤
  11. [转载] Ajax中使用Response.Write输出javascript脚本出错的解决办法
  12. 图片怎样放大后不模糊?
  13. 乐鑫Esp32学习之旅 12 开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程,分享一个airkiss配网小工具。(附带Demo)
  14. 计算机网络中的广播是指什么,计算机网络中的广播和多播指的是什么?
  15. 公钥,私钥 和数字证书
  16. ts获取服务器数据_ts 流服务器
  17. office 文档在线预览新姿势之永中云转换
  18. 取消RadioButton前面小圆圈的方法
  19. Windows11原版镜像
  20. Python 处理日期与时间的全面总结!

热门文章

  1. 学业水平考试b能上985吗_河南单招哪些学院好考?哪些专业能录取?
  2. ios app内嵌入http服务器
  3. siwft 写时复制 Copy-On-Write
  4. 【vivado】debug hub时钟不匹配
  5. 2星|《快公司》2018年2-3期:商业人物访谈集
  6. review what i studied `date` - 2017-4-12
  7. c# 元组Tuple
  8. 使用Spring实现邮件发送
  9. document.getElementById与getElementByName的区别
  10. VDI序曲二十一 APP-V 4.6 SP1服务器端部署