作为参考,我正在为学校的作业创建一个霍夫曼树。我创建了树,并使用以下格式将值存储在地图中:
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);
答案 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())