如果我有钥匙,如何从地图中获取值?

时间:2012-03-16 03:46:51

标签: java map bufferedreader

作为参考,我正在为学校的作业创建一个霍夫曼树。我创建了树,并使用以下格式将值存储在地图中:

map.put((char,string));

char:是通过从缓冲的阅读器一次读取一个字符而得到的 string:是基于树位置

分配给该字符的“二进制”代码

现在我想生成一个“二进制”字符串,表示我从缓冲读取器的初始输入。我该怎么做呢?这就是我尝试过的:

String binary = "";
int q;    
while ((q = buffer.read()) != -1) {
  char key = (char)q;
  char value = (char)key.get();
  binary += value;
}
System.out.println(binary);

2 个答案:

答案 0 :(得分:3)

不应该只是value = map.get(key)?

答案 1 :(得分:1)

如果我想从地图中获取所有键和值,我会这样做:

Set <generics> mySet = myMap.keySet(); // takes all the keys to a set
Iterator itr = mySet.iterator(); // setting iterator to the set containing the keys

//iterate through the set of keys

while (itr.hasNext()){

              keys = itr.next(); //get the keys from the set
              values = myMap.get (keys); //get the values from the map

}//while (itr.hasNext())