这是今天做了一道字符串的问题,一直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
相关文章
- HashMap的key更改后能否正确获取value
- HashMap通过value反查key
- HashMap 根据Value获取Key
- java中如何将一段字符串按照特定分隔符将其字段值保存在map、table或list中,然后后面通过key获取到对应的value?
- 通过xib加载textfield的时候 发生 this class is not key value coding-compliant for the key textField. 情况怎么解决
- HashMap和Hashtable中怎么修改key的value值?
- 看看源码怎么处理,Java中Hashtable,Hashmap,ConcurrentHashMap,Key Value为null时
- 关于HashTable中如何通过value取得key
- HashMap:通过VALUE反向求KEY的方法
- java对HashMap中的key或者value值进行排序!