如何在HashMap中获得密钥的一部分?

尼古拉·伊万诺夫(Nikolay Ivanov)

![txt文件示例] [1] http://dox.bg/files/dw?a=f49baaafee

[实际数字是多少] [2] http://dox.bg/files/dw?a=a911da0422

我收到了一个文本文件iot.txt,并在其中添加了红色并将其数据存储在Map<String, HashMap<String, Integer>>如您在文本文件中看到的,我们有一个精确的句号“ 2004-11-28-2004-12-04”,然后是语言(Java,Python等),最后是一个整数(对此语言感兴趣),这些语言的价值。仅如何循环浏览年份,更不用说具体的星期了例如,迭代到2004年并获得最少的兴趣。迭代到2006年另外,我有2004-2015年,所以每年都有快速方法循环吗?我想做这样的事情:

Map<String, HashMap<String, Integer>> everything = new HashMap<>();
    HashMap<String, Integer> lang = new HashMap<>();
    for(String yr: iot.keySet())
    {   
    lang.put(yr, iot.get(yr).get("JavaScript").intValue());
    everything.put(yr, lang);

    for(String yr04 : iot.get("2004").keySet())  //this is where I have prob
    {
    int minValueInMap=(Collections.min(everything.values()));  // there is smth wrong with "min" 
    if (entry.getValue()==minValueInMap)  //entry cannot be resolved??
    {
        System.out.println(entry.getKey());  //entry cannot be resolved??
    }
    }

但是,由于我的键排序为“ 2004-11-28-2004-12-04”,因此无法完成。

斯利普

我建议使用更好的数据结构来表示您的需求。但是,如果不能这样扩展HashMap,则如下所示:

public class MyHashMap<V> extends HashMap<String,V> {

    public Set<String> keysStartingWith(String s) {
        Set<String> result = new HashSet<String>();
        for(String key : keySet()) {
            if(key.startsWith(s)) {
                result.add(key);
            }
        }
        return result;
    }
}

除了使用“地图”之外,您还可以使用:

MyHashMap<HashMap<String, Integer>> myHashMap = new MyHashMap<>();
HashMap<String, Integer> data;
for(String yearRangeKey : myHashMap.keysStartingWith("2014") {
   data = myHashMap.get(yearRangeKey);
   ...
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中获得String的一部分?

您如何在Angular 5中获得URI的第一部分?

如何在C#中获得路径的一部分?

如何在Bash中获得http链接的最后一部分?

如何获得颜色表的一部分

Awk:如何获得领域的一部分?

在python中获得字典的一部分

如何在不创建新列表的情况下在Python中获得列表的一部分?

您如何获得%INCLUDE一部分中的Lotusscript声明中引用的文件

如何获得 Laravel 中的属于关系的一部分?

如何在表格的一部分中添加百分比

HashMap <String,Integer>搜索一部分密钥?

如何在熊猫中取一列的一部分与另一列的一部分匹配?

PHP中的Regex:如何在最后一部分URL中获取单词?

如何在余烬应用程序中将api密钥作为url的一部分传递

如何在python中将数组的一部分存储在不同的数组中

如何在Nginx中获取$ host变量的一部分?

如何在OCaml / ReasonML中获取列表的一部分?

如何在JavaScript中的“:”之前删除字符串的一部分?

如何在 CakePHP 3 中访问 GET url 的最后一部分

如何在JavaScript中获取字符串的最后一部分?

如何在python中删除网址的一部分?

如何在 Flutter 中设置文本的一部分样式?

如何在R中隐藏/星号代码的一部分?

如何在sed中修改单行的一部分

如何在jQuery中获取文本框ID的一部分

如何在RDD中总结列表的一部分

如何在剪贴板中裁剪屏幕的一部分?

如何在json文件中查找和替换值的一部分