java HashMap通过value反查key的代码示例
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapValueGetKey {
public static void main(String[] args) {
Map map = new HashMap<>();
map.put(1,"A");
map.put(2,"A");
map.put(3,"A");
map.put(4,"A");
map.put(5,"A");
String value = "A";
ArrayList arr = valueGetKey(map, value);
if(!arr.isEmpty()) {
for(int i=0; i<arr.size(); i++) {
System.out.println(arr.get(i));
}
}
}
private static ArrayList valueGetKey(Map map,String value) {
Set set = map.entrySet();
ArrayList arr = new ArrayList<>();
Iterator it = set.iterator();
while(it.hasNext()) {
Map.Entry entry = (Map.Entry)it.next();
if(entry.getValue().equals(value)) {
int s = (int)entry.getKey();
arr.add(s);
}
}
return arr;
}
}
1
2
3
4
5
相关推荐
-
Java常用HASH算法总结【经典实例】
本文实例讲述了Java常用HASH算法.分享给大家供大家参考,具体如下: /** * Hash算法大全<br> * 推荐使用FNV1算法 * @algorithm None * @author Goodzzp 2006-11-20 * @lastEdit Goodzzp 2006-11-20 * @editDetail Create */ public class HashAlgorithms { /**//** * 加法hash * @param key 字符串 * @param prime
-
Java8 HashMap的实现原理分析
前言:Java8之后新增挺多新东西,在网上找了些相关资料,关于HashMap在自己被血虐之后痛定思痛决定整理一下相关知识方便自己看.图和有些内容参考的这个文章:http://www.jb51.net/article/80446.htm HashMap的存储结构如图:一个桶(bucket)上的节点多于8个则存储结构是红黑树,小于8个是单向链表. 1:HashMap的一些属性 public class HashMap<k,v> extends AbstractMap<k,v> impl
-
浅析Java中Map与HashMap,Hashtable,HashSet的区别
HashTable和HashMap区别 第一,继承的父类不同.Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类.但二者都实现了Map接口. 复制代码 代码如下: public class Hashtable<K,V>extends Dictionary<K,V>implements Map<K,V>, Cloneable, Serializable public class HashMap<K,V>extends
-
详解Java中用于查找对象哈希码值的hashCode()函数
理解 hashCode() 的作用是获取哈希码,也称为散列码:它实际上是返回一个int整数.这个哈希码的作用是确定该对象在哈希表中的索引位置. hashCode() 定义在JDK的Object.java中,这就意味着Java中的任何类都包含有hashCode() 函数. 虽然,每个Java类都包含hashCode() 函数.但是,仅仅当创建并某个"类的散列表"(关于"散列表"见下面说明)时,该类的hashCode() 才有用(作用是:确定该类的每一个对象在散列表中的
-
分享Java常用几种加密算法(四种)
对称加密算法是应用较早的加密算法,技术成熟.在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yue)一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去.收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文.在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥. 简单的java加密算法有: BASE 严格地说,属于编码格式,而非加密算法 MD(Mes
-
java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则.通俗点说,就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法.前者是推理实现的算法,后者是操作实现的算法. 一个算法应该具有以下五个重要的特征: 1.有穷性: 一个算法必须保证执行有限步之后结束: 2.确切性: 算法的每一步骤必须有确切的定义: 3.输入:一个算法有0个或多个输入,以刻画运算对象的初始情况: 4.输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的:
-
java中哈希表及其应用详解
哈希表也称为散列表,是用来存储群体对象的集合类结构. 什么是哈希表 数组和向量都可以存储对象,但对象的存储位置是随机的,也就是说对象本身与其存储位置之间没有必然的联系.当要查找一个对象时,只能以某种顺序(如顺序查找或二分查找)与各个元素进行比较,当数组或向量中的元素数量很多时,查找的效率会明显的降低. 一种有效的存储方式,是不与其他元素进行比较,一次存取便能得到所需要的记录.这就需要在对象的存储位置和对象的关键属性(设为 k)之间建立一个特定的对应关系(设为 f),使每个对象与一个唯一的存储位置
-
java加密算法--MD5加密和哈希散列带秘钥加密算法源码
java加密算法--MD5加密和哈希散列带秘钥加密算法源码 最近学习加密算法的知识,利用MD5 加密,百度一下网上资料很多,不是很详细,这里就整理下如何实现用MD5加密和 哈希散列带秘钥加密算法,大家可以看下. 实现代码: package com.ompa.common.utils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import javax.crypto.Mac;
-
java遍历HashMap简单的方法
本文实例讲述了java遍历HashMap简单的方法.分享给大家供大家参考.具体实现方法如下: import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class HashSetTest { public static void main(String[] args) { HashMap map = new HashMap(); map.put("a", "aa"
-
JAVA HashMap详细介绍和示例
第1部分 HashMap介绍HashMap简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射.HashMap 继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable接口.HashMap 的实现不是同步的,这意味着它不是线程安全的.它的key.value都可以为null.此外,HashMap中的映射不是有序的.HashMap 的实例有两个参数影响其性能:"初始容量" 和 "加载因子".容量
-
java实现MD5加密算法的实例代码
复制代码 代码如下: package other; import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/* * MD5 算法*/public class MD5 { // 全局数组 private final static String[] strDigits = { "0", "1", "2", "3", &
随机推荐
- python判断给定的字符串是否是有效日期的方法
- 远程连接阿里云SqlServer 2012 数据库服务器的图文教程
- easyui-combobox 实现简单的自动补全功能示例
- JavaScript+html5 canvas制作色彩斑斓的正方形效果
- 使用ajax技术实现txt弹出在页面上的方法
- javascript数组去重常用方法实例分析
- c++拷贝构造函数防篡改示例
- c++实现简单的线程池
- Android_UI 仿QQ侧滑菜单效果的实现
- Docker volume使用详解及实例
- json数据处理及数据绑定
- python 打印对象的所有属性值的方法
- rsync ssh 数据同步分析
- MySQL日志分析软件mysqlsla的安装和使用教程
- SQL Server 2008 安装SQLDMO.dll的方法
- jQuery插件 tabBox实现代码
- C# FTP操作类分享
- java设计模式学习之工厂方法模式
- android 横竖屏限制的配置方法
- 详解java中接口与抽象类的区别