标签: hashmap

Java Iterator.hasNext() 始终为 true

我已经检查过像这样的其他问题,但似乎我并不总是创建一个新的迭代器来检查始终相同的对象。

这是代码

        Iterator<Map.Entry<Node, Float>> it = graph.nodeNeighboursIterator(e); 
        System.out.println("extracted node "+ e.getLabel() + " number of neighbours "+ e.sizeNeighbours());
        while(it.hasNext()) {
            System.out.print(i + " " + e.getLabel() + " " + it +"-");
            i++;
        }
Run Code Online (Sandbox Code Playgroud)

该方法graph.nodeNeighboursIterator执行此操作

public Iterator<Map.Entry<Node, Float>> nodeNeighboursIterator(Node n) {
    return this.graph_weighted.get(n).entrySet().iterator();
}
Run Code Online (Sandbox Code Playgroud)

打印System.out.println("extracted node "+ e.getLabel() + " number of neighbours "+ e.sizeNeighbours());出正确数量的邻居,但循环仍然没有结束他的循环,你对此有何看法?

java iterator object hashmap infinite-loop

-2
推荐指数
1
解决办法
1212
查看次数

如何在Java中对map.keySet()进行排序?

public class MapKeyExample {
    public static void main(String[] args){

        //Initializing a Map of type HashMap
        Map<Integer, String> map = new HashMap<>();
        Set<Integer> s = new HashSet<>();
        map.put(1, "One");
        map.put(3, "Three");
        map.put(5, "Five");
        map.put(7, "Seven");
        map.put(9, "Nine");
        System.out.println(map);
        s = map.keySet();
        System.out.println(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在的输出是

{1=One, 3=Three, 5=Five, 7=Seven, 9=Nine}
[1, 3, 5, 7, 9]
Run Code Online (Sandbox Code Playgroud)

的预期输出为:

[1, 5, 3, 9, 7]
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何将其修改为Linkedhashmap或treemap吗?非常感谢。

java hashmap intellij-idea sortedmap keyset

-2
推荐指数
1
解决办法
64
查看次数

相当于 Java 映射中的 C# 字典方法“TryGetValue()”

我正在将一个项目从 c# 迁移到 java,但 TryGetValue() 方法有问题!

这是 C# 代码:

private static void _AddBadQualityChar (Dictionary<string,List<string>> badQualityChars, string charString, string badQualityChar)
        {
            List<string>        _badQualityChars;

            if (!badQualityChars.TryGetValue (charString, out _badQualityChars))
            {
                _badQualityChars = new List<string> ();
                badQualityChars [charString] = _badQualityChars;
            }

            _badQualityChars.Add (badQualityChar);
        }
Run Code Online (Sandbox Code Playgroud)

我不知道 java 地图中 TryGetValue() 方法的等效项是什么,我所能找到的只是 get() 方法,它不返回 Boolean !我怎样才能用Java编写这个函数?

java dictionary hashmap

-2
推荐指数
1
解决办法
1521
查看次数

Java hashmap - put无法正常工作?

我正在使用hashmap,但它无法正常工作.我有一个Computing.java类,我有添加到hashmap的方法:

addIntoMap(String key, String value){

   m_parameters_values.put(key, value);
   }
Run Code Online (Sandbox Code Playgroud)

和从hashmap获取的方法:

public void getValueByKey(String key){
        System.out.println("GET "+m_parameters_values.get(key));
    }
Run Code Online (Sandbox Code Playgroud)

我从Main类调用theese方法,但我无法获取密钥,我仍然无效.你知道为什么吗?

类计算的内容(构造函数省略):

public void Parse (String args[]) throws Exception{
        Parse(args,true);
    }

    public void Parse(String[] args, boolean throwErrorIfParamenterNotDefined) throws CmdLineException
    {


        int i = 0;

        while (i < args.length)
        {
            // The current string is a parameter name
            String key = args[i].substring(1, args[i].length() - 1).toLowerCase();
            String value = "";
            i++;
            if (i < args.length)
            {
                if (args[i].length() > 0 && args[i] == "-")
                {
                    // …
Run Code Online (Sandbox Code Playgroud)

java hashmap

-3
推荐指数
1
解决办法
7517
查看次数

Hashmap是否使用随机访问?

在Java中的HashMap中,我理解哈希值存储在存储桶中,这有助于加快搜索速度.
在检索时,它检查哈希码并相应地找到桶号.

如果存在1到10的桶号,则从哈希码中找到的桶号是桶号5
.
如何将控制转移到5号桶?它是通过桶1到桶4到达5还是使用任何其他机制?

java hashmap

-3
推荐指数
2
解决办法
1335
查看次数

以Integer为键的HashMap问题

您好我有与问题HashMapInteger关键.

当我Integer用作地图的关键时,我得到的结果不一致 .

我读了几篇帖子,这些帖子表明,如果我使用的Integer是键入Hashmap,我需要确保覆盖hashcodeInteger类和类的方法.在Integer类中,方法equals()已被覆盖.现在我如何覆盖该equals()方法.

java hashmap

-3
推荐指数
1
解决办法
2489
查看次数

如何从Hashmap获取前四个值

这是HashMap<Integer, String>用于存储值,并String与此值相关联.据我所知,当你把值String放入时HashMap,它将按值(因为这里的值是Integer)按升序排序.
现在,我想要做的是从rank1到rank4获取值,如果我不知道key的值,我该怎么做?

java hashmap

-3
推荐指数
1
解决办法
155
查看次数

HashMap返回空值

嘿伙计这是我的代码在循环中我把mapTable.get("NN").它给出了正确的值,但是在循环外的print语句中它给出了null.请帮助.

Map<String,String> mapTable=new HashMap<String,String>();
    while((line2=br1.readLine())!=null)
    {
        if((!line2.trim().isEmpty())&&Character.isDigit(line2.charAt(0)))
        {
        String[] tmp=line2.split("\t");
        mapTable.put(tmp[1].trim(),tmp[2].trim());
        System.out.println("MAP-----"+tmp[1]+ " ->  "+tmp[2]+" ex "+mapTable.get("NN"));
        }   
    }
    printMap(mapTable);
    System.out.println("CHECKING-------> "+mapTable.get("NN"));


This is the output:

MAP-----NN  ->  n ex n
MAP-----NNS  ->  n ex n
MAP-----NNP  ->  n ex n
MAP-----NNPS  ->  n ex n
MAP-----PDT  ->   ex n
and so on..
JJ = adj
NN = n
WRB = adv
LS = 
PRP = prp
DT = dt
FW = pw

CHECKING-------> null
Run Code Online (Sandbox Code Playgroud)

PrintMap功能:

    public static void printMap(Map …
Run Code Online (Sandbox Code Playgroud)

java hashmap

-3
推荐指数
1
解决办法
511
查看次数

char数组中的字符数按降序排列

有一个char array下面,如图所示.需要按计数的降序打印每个字符的计数.

char arr[] = {'A', 'B', 'E', 'A', 'C', 'D', 'E', 'A', 'C', 'E', 'B', 'A', 'A', 'B','E','E'};
Run Code Online (Sandbox Code Playgroud)

寻找这个问题的有效解决方案.我尝试过HashMap,ArrayList组合.有没有办法HashMap单独执行此操作,而不使用ArrayList(或任何其他List实现).

java hashmap

-3
推荐指数
1
解决办法
169
查看次数

为什么我不能将我的班级名称声明为Map?

import java.util.*;

public class Map {

    public static void main(String[] args) {

        Map map = new HashMap();

        map.put("father", "Rob");
        System.out.println(map.get("father"));
    }
}
Run Code Online (Sandbox Code Playgroud)

java hashmap

-3
推荐指数
1
解决办法
40
查看次数