这是今天做了一道字符串的问题,一直MLE,所以想到了减少Map里对应关系数量来降低内存开销。随手谷歌,整理出了如下资料。
如果效率优先的话还是写俩Map吧。
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;}}结果如下:
12345
相关文章
- 10-09hashmap先按照value从大到小排序,value相等时按照key从小到大排序
- 10-09hashMap 获取里面value最大的值得key
- 10-09Dictionary通过Value找到它的key
- 10-09python语法:如何通过value找key
- 10-09HashMap 的遍历key与value的方法
- 10-09【眼见不一定为实】HashMap的key和value明明存在,但是获取不到值
- 10-09【Java必修课】通过Value获取Map中的键值Key的四种方法
- 10-09通过Value获取Map中的键值Key的四种方法
- 10-09iOS 将对象的属性和属性值拆分成key、value,通过字符串key来获取该属性的值
- 10-09java HashMap--统计其中有相同value的key的个数