如何在java中转换字符串形式的哈希表

如何在java中转换字符串形式的哈希表,java,hashtable,Java,Hashtable,我是java新手,我想转换一个字符串形式的哈希表,每对由任何特殊字符分隔。我不太清楚如何在哈希表上应用循环并从中提取值。请告诉我怎么做。提前谢谢 public String parseHashtable(Hashtable detailHashtable){ String hashstring= ""; foreach(){ hashstring += key + "=" + hashtable[key] + "|"; } return hashst

我是java新手,我想转换一个字符串形式的哈希表,每对由任何特殊字符分隔。我不太清楚如何在哈希表上应用循环并从中提取值。请告诉我怎么做。提前谢谢

 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();

    ...
}