java 参数匹配,java – 与通配符匹配的键值参数

我有大量的键值参数映射到文件路径.大多数都有以下形式

filepath : /some/path

param_name_1 => 1234

param_name_2 => qwerty

但其他人可以包含通配符

filepath : /other/path

param_name_1 => 123*4

param_name_2 => ab?12

在哪里?是匹配任何一个字符的通配符,*是匹配0个字符的通配符.

我的用户可以提供他们自己的一组KV参数,我必须匹配并返回映射的路径.

示例:用户提供

param_name_1 => 1234

param_name_2 => qwerty

Application returns /some/path

用户提供

param_name_1 => 123asdqweqweqdqweq1231asdcase4

param_name_2 => abW12

Application returns /other/path

对于所有不包含通配符的映射,我可以为我存储的映射和用户提供的映射计算hashCode()并执行极快的HashMap查找(3-4个参数匹配,100000个映射,0毫秒,这毕竟是一个哈希值.

对于包含通配符的映射,我很难通过包含通配符的所有映射列表进行线性查找.大约有2000-5000个这样的映射,每个查找只需不到200毫秒,我需要加快速度.

有没有办法我可以进行一般查找以匹配通配符或其他一些可以组合所有映射的匹配技术?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值