我们知道HashMap中的值是成对地放置的,即VALUE-KEY.因此我们一般在MAP中取出数据时得根据KEY来取出VALUE.但若我们想出VALUE值,但却不知对应地KEY,这时我们就得先遍历VALUE值,找出对应地KEY值,再根据KEY值取出VALUE值.程序如下:
Java代码
import java.util.*;
public class Map_ValueGetKey {
HashMap map;
public Map_ValueGetKey(HashMap map) { //初始化操作
this.map=map;
}
public Object getKey(Object value) {
Object o=null;
ArrayList all=new ArrayList(); //建一个数组用来存放符合条件的KEY值
/* 这里关键是那个entrySet()的方法,它会返回一个包含Map.Entry集的Set对象. Map.Entry对象有getValue和getKey的方法,利用这两个方法就可以达到从值取键的目的了 **/
Set set=map.entrySet();
Iterator it=set.iterator();
while(it.hasNext()) {
Map.Entry entry=(Map.Entry)it.next();
if(entry.getValue().equals(value)) {
o=entry.getKey();
all.add(o); //把符合条件的项先放到容器中,下面再一次性打印出
}
}
return all;
}
public static void main(String[] args) {
HashMap map=new HashMap();
map.put("1","a");
map.put("2","b");
map.put("3","c");
map.put("4","c");
map.put("5","e");
Map_ValueGetKey mvg=new Map_ValueGetKey(map);
System.out.println(mvg.getKey("c"));
}
}
分享到:
相关推荐
总结来说,这段代码展示了如何在HashMap中通过值来查找键,这通常需要遍历整个HashMap的Entry集合,并使用Map.Entry的`getValue()`和`getKey()`方法进行比较。虽然这种方法在大数据量的情况下效率较低,但在某些场景...
本篇文章将详细介绍如何使用简单的方法来遍历HashMap,通过实例代码帮助理解。 HashMap遍历的常用方法主要有三种:迭代器(Iterator)遍历、键集(KeySet)遍历以及 Entry 集(entrySet)遍历。下面将逐一介绍这些...
这个数据结构的独特之处在于它不仅允许我们通过键(key)来查找值(value),还允许我们通过值(value)来查找键(key)。在标准的HashMap中,查找键对应的值是常见的操作,但查找具有特定值的所有键则不太常见,而...
- **内部实现**: HashMap使用哈希表(散列表)存储键值对,通过哈希函数计算键的哈希码,再通过链表或红黑树解决哈希冲突。 - **哈希冲突**: 当两个键的哈希码相同,它们会位于同一个桶中,形成链表。当链表长度...
String jsonMapString = "{\"key1\":\"value1\",\"key2\":\"value2\"}"; Map, Object> map = mapper.readValue(jsonMapString, Map.class); ``` 以上就是使用Spring Boot中的ObjectMapper进行JSON处理的基本方法。...
本教程主要围绕“主要用于操作json的工具JAR”,解决在Java中将List转换为JSONObject、JSONArray以及反向转换的问题。 首先,让我们了解JSON的基本结构。JSON对象以大括号{}表示,其中包含键值对,键和值之间用冒号...
除了`JSONObject.fromObject`,`json-lib`还提供了`JSONArray.fromObject`,用于将Java对象数组或集合转换为`JSONArray`,以及`JSONObject.toBean`和`JSONArray.toList`等方法,支持反向转换,即将JSON数据转化为...
SharedPreferences是通过键值对的形式存储数据的,通过`PreferenceManager.getDefaultSharedPreferences(Context)`获取默认的SharedPreferences实例,然后使用`edit()`方法创建一个可编辑的`SharedPreferences....
6. **数据存储结构**:在Java中,`HashMap`类用于以键值对(key-value)的形式存储数据。 7. **三目运算符**:Java中的三目运算符`condition ? expression1 : expression2`用于根据条件表达式的布尔值选择执行其中一...
在这个例子中,`PROPERTY_KEY`作为Map的键,`PROPERTY_VALUE`作为Map的值,`USER_ID`是关联的外键。 ### 6. 性能优化 在使用集合映射时,需要注意懒加载(lazy loading)和批处理(batch-size)的设置,以优化性能...
通过以上介绍可以看出,DWR是一个非常强大且灵活的Ajax框架,它不仅简化了Ajax的使用,还提供了多种高级功能,如直接调用Java方法、复杂的对象传递、Session管理以及反向推送等。开发者可以根据实际需求选择合适的...
它由数组和链表组成,通过哈希函数定位元素,允许key为null,但value不能为null。在多线程环境中,应使用`ConcurrentHashMap`保证线程安全。 5. **InnoDB 和 MyISAM**: - `InnoDB` 支持事务处理,提供行级锁定和...
map.put("key", "value"); String yamlStr = yaml.dump(map); // 写入文件 OutputStream outputStream = ...; // 输出流 yaml.dump(map, outputStream); ``` ### 4. SnakeYAML的扩展与自定义 - **自定义构造器**...
特别是对于`List, String>>`这样的数据结构,它能够将一系列键值对映射的列表转换成JSON数组,每个元素都是一个JSON对象,其键和值分别对应Map中的key和value。这样做的好处在于,可以将复杂的数据结构转换成符合...
String jsonString = "{\"key\":\"value\"}"; JSONObject jsonObject = JSONObject.fromObject(jsonString); Map, Object> map = (Map, Object>) jsonObject.toMap(); ``` 4. **Bean转换**:JSON-lib还支持Java...
如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 apache网站下下载 在这是junit测试单元类我就不提交了,在main()方法中有几个小...
1.3.2跨域交互即缓存处理方法 7 1.3.3页面自适应机制,即设备自适应与浏览器自适应机制 8 1.3.4 “认我测”质检服务平台的设计和实现 8 1.4 本文的结构安排 8 第二章 多窗口类浏览器设计 11 2.1 多窗口类浏览器需求...