如何在java中转换字符串形式的哈希表
我是java新手,我想转换一个字符串形式的哈希表,每对由任何特殊字符分隔。我不太清楚如何在哈希表上应用循环并从中提取值。请告诉我怎么做。提前谢谢如何在java中转换字符串形式的哈希表,java,hashtable,Java,Hashtable,我是java新手,我想转换一个字符串形式的哈希表,每对由任何特殊字符分隔。我不太清楚如何在哈希表上应用循环并从中提取值。请告诉我怎么做。提前谢谢 public String parseHashtable(Hashtable detailHashtable){ String hashstring= ""; foreach(){ hashstring += key + "=" + hashtable[key] + "|"; } return hashst
public String parseHashtable(Hashtable detailHashtable){
String hashstring= "";
foreach(){
hashstring += key + "=" + hashtable[key] + "|";
}
return hashstring;
}
您可以使用Map.Entry,如下所示:
String hashstring= "";
for (Map.Entry<String, String> entry : hashTable.entrySet()) {
hashstring += entry.getKey() + "=" + entry.getValue() + "|";
}
String hashstring=”“;
for(Map.Entry:hashTable.entrySet()){
hashstring+=entry.getKey()+“=”+entry.getValue()+“|”;
}
公共字符串解析哈希表(哈希表详情哈希表){
字符串hashstring=“”;
for(条目:detailHashtable.entrySet()){
hashstring+=entry.getKey()+“=”+entry.getValue()+“|”;
}
返回哈希字符串;
}
字符串分隔符=“|”;
StringBuilder sb=新的StringBuilder();
Set keys=detailHashtable.keySet();
用于(字符串键:键){
sb.append(key+“=”+detailHashtable.get(key)+分隔符);
}
使某人返回字符串();
HashMap和HashTable
都可以使用Map.Entry
同时获取键和值
String hashstring= "";
for (Map.Entry<String, String> entry : detailHashtable.entrySet()) {
hashstring += entry.getKey() + "=" + entry.getValue() + "|";
}
String hashstring=”“;
对于(Map.Entry:detailHashtable.entrySet()){
hashstring+=entry.getKey()+“=”+entry.getValue()+“|”;
}
参考API了解可以使用哪些操作。
Map
从中扩展Hashtable
提供了方法Map.entrySet()
,该方法返回一个包含映射中所有条目的集合
for(Map.Entry e : detailHashTable.entrySet()){
Object key = e.getKey();
Object value = e.getValue();
...
}
使用entry.getKey().to字符串()和entry.getValue().to字符串() 有什么问题吗?@vish4071是的,这就是我需要的。如何在for loopNote中应用条件您可能希望使用
StringBuilder
连接字符串。确定。我想你的答案可以解决你的问题。foreach看起来不像java…;)我的错误是,它应该是detailHashtable
而不是hm
。我改了,不工作了。字符串显示了非常不同的值,而不是哈希表中的值。您的键和值是什么对象类型?您可以发布您获得的值和应该获得的值吗?它给出了错误类型不匹配:无法从元素类型对象转换为映射。entry我假设您的键和值为字符串。根据需要更改数据类型。哈希表的键和值类型是什么?
String hashstring= "";
for (Map.Entry<String, String> entry : detailHashtable.entrySet()) {
hashstring += entry.getKey() + "=" + entry.getValue() + "|";
}
for(Map.Entry e : detailHashTable.entrySet()){
Object key = e.getKey();
Object value = e.getValue();
...
}