public class LikeHashMap extends HashMap {
public Set keySet() {
Set set = super.keySet();
TreeSet tSet = null;
if (set != null) {
// 对已存在的key进行排序
tSet = new TreeSet(set);
}
return tSet;
}
public List<Object> get(String key,boolean like) {
List<Object> value = new ArrayList<Object>();
//是否为模糊搜索
if(like){
List<String> keyList = new ArrayList<String>();
TreeSet<String> treeSet = (TreeSet) this.keySet();
for (String string : treeSet) {
//通过排序后,key是有序的.
if (string.indexOf(key) != -1) {
keyList.add(string);
value.add(this.get(string));
} else if (string.indexOf(key) == -1 && keyList.size() == 0) {
//当不包含这个key时而且key.size()等于0时,说明还没找到对应的key的开始
continue;
} else {
//当不包含这个key时而且key.size()大于0时,说明对应的key到当前这个key已经结束.不必要在往下找
break;
}
}
keyList.clear();
keyList=null;
}else{
value.add(this.get(key));
}
return value;
}
public static void main(String[] args) {
LikeHashMap hMap = new LikeHashMap();
for (int i = 0; i < 100000; i++) {
hMap.put("A_"+i, "AAAAAA"+i);
}
long time=System.currentTimeMillis();
System.out.println(hMap.get("A",true).size());
System.out.println(System.currentTimeMillis()-time);
}
}
分享到:
相关推荐
go 有序map,用于json输出有序key的对象和后端有序循环map取值
模糊查找定义一、 只匹配词组的模糊查找二、 对单词和词组都进行匹配
Mapkey非常好用的键盘插件
map、 key' 和 value 的 取值 and so on
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
一些特定情况下需要用map或者list嵌套 这里是一个例子 如何获取嵌套中的参数
主要介绍了Java Map 通过 key 或者 value 过滤的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
对Map的key和value进行排序
C++读取INI文件中指定Section下的所有key和keyvalue存放到map中
SpringBoot+Mybatis,返回Map的时候,将Map内的Key转换为驼峰的命名
Google Map Key申请具体的步骤,图文并茂
可以将Map中的对象按照键或值进行升序或降序排列,经测试一切正常,开发者看懂后按照需求对应修改即可!
申请Android Google Map API key
根据map值获取key.txt
比较两者查找效率,得出结论是结构体比字符串组合快~~~
个人webstrom key map
javaScript,重写Array 类似java map的key,value键值对结构
实例如下: var aaa = { "0":"a", "1":"b", "2":"c", ...以上这篇js判断数组key是否存在(不用循环)的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
在STL的map或set容器中,当使用类作为key时,需要的类结构
* put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的元素,成功返回True,失败返回False * get(key) 获取指定KEY的元素值VALUE,失败返回NULL * element(index) 获取指定索引的元素...