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);
}
}
分享到:
相关推荐
3. **后端有序循环map取值**: - 有序map在后端处理时,可以方便地进行有序遍历,例如在循环中按顺序访问key。这在处理一些需要按照特定顺序执行的操作时非常有用,比如迭代处理数据、渲染模板等。 ```go for _, ...
对于Map取值,你可以使用`get`方法: ```java String key = "exampleKey"; Object value = jsonData.get(key); ``` 如果值是另一个JSON对象或数组,你需要再次进行类型转换。例如,如果`value`是一个`Map`,你可以...
在实际应用中,Mapkey可以通过以下方式提高工作效率: - 对于程序员,可以设置快捷键快速调用常用代码段,或者一键运行编译、测试等命令。 - 设计师可以利用宏功能快速完成重复的绘图动作,如复制、旋转、缩放等。 ...
获取嵌套Map的key和value通常涉及两个步骤:首先,找到嵌套Map的位置,然后从中提取key和value。在Java中,这可以通过`get()`方法实现: ```java String userId = "123"; Map, String> userInfo = users.get(userId...
模糊查找是一种在数据库或文本中寻找与输入查询相似或部分匹配项的技术,它允许用户在不知道确切关键字的情况下进行搜索。这种技术广泛应用于信息检索、文本分析和数据挖掘等领域,为用户提供更加灵活和人性化的搜索...
对Map的key和value进行排序 对Map的key和value进行排序是Java编程中非常重要的一部分。Map是Java集合框架中的一种数据结构,用于存储键值对。然而,在实际应用中,我们经常需要对Map中的key或value进行排序,以满足...
Java Map 通过 key 或者 value 过滤的实例代码 Java Map 是一种常用的数据结构,用于存储键值对数据。在实际开发中,我们经常需要对 Map 中的数据进行过滤,以满足特定的业务需求。今天,我们将讨论如何使用 Java ...
map、 key' 和 value 的 取值 and so on
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
"对 Map 按 key 和 value 分别排序" 摘要:本文主要介绍了 Map 按 key 和 value 分别排序的方法,包括使用 TreeMap 的 key 排序和 value 排序两种方式。 Map 按 key 排序 Map 是键值对的集合接口,它的实现类主要...
总的来说,处理Map中Key的驼峰命名转换是Java开发中的常见需求,通过自定义工具类或利用现有的库,我们可以轻松地解决这个问题,提高代码质量。在实际项目中,还应注意处理异常情况,确保在Key不存在或者格式不正确...
在这个场景中,我们关注的是在C++ STL中的`map`容器中,使用字符串(`std::string`)作为键(key)与使用自定义结构体(struct)作为键在查找效率上的比较。`map`是一个关联容器,它提供了基于键的有序存储,通常...
map.put(key, jsonObject.get(key)); } String jsonArrayString = "[{\"key\":\"value\"}]"; JSONArray jsonArray = new JSONArray(jsonArrayString); List<Map, Object>> list = new ArrayList(); for (int ...
C++读取INI文件中指定Section下的所有key和keyvalue存放到map中
在IT领域,尤其是在开发中文应用时,汉字或拼音模糊搜索是一项重要的功能,它允许用户通过输入汉字或拼音来查找相关信息,即便输入不完全准确也能找到匹配的结果。本篇将深入探讨如何在C#环境下实现这样的功能,特别...
例如,`setting.data.key`用于设置节点的标识键,`setting.callback.beforeSearch`是搜索前的回调函数,可以在此预处理搜索条件,`setting.callback.onSearch`则是在搜索完成后执行的回调,用于更新和渲染搜索结果。...
在 Java 编程语言中,`Map` 是一种非常常见的数据结构,它通过键值对的形式存储数据,其中键(Key)是唯一的,而值(Value)可以有多个相同的实例。在实际开发过程中,我们经常会遇到需要根据值(Value)来查找其...
通过上述示例可以看出,只需要简单地重载 `和 `==` 运算符,我们就可以方便地使用自定义类型作为 `set` 或 `map` 的key,从而有效地管理键值对或有序集合。 此外,对于 `map` 而言,键值(key)是唯一的,并且通常...
申请Android Google Map API key
2. **动态添加和删除快捷键**:在运行时,可以通过调用MapKey的API动态添加或移除快捷键,适应不同场景的需求。 3. **事件回调**:除了直接定义快捷键的处理函数,还可以监听快捷键的按下和释放事件,进行更复杂的...