java hashmap所有值输出到文件中

hashmap的key是一个类,类中有两个字符串,怎么输出????

Set set = hm.entrySet() ;
java.util.Iterator it = hm.entrySet().iterator();
while(it.hasNext()){
java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
Object key = entry.getKey(); // 返回与此项对应的键,如果是一个类则强制转型,而且这个类必须有toString方法,或者你自己写的输出两个字符串的方法
Object value = entry.getValue(); // 返回与此项对应的值
System.out.println(key); // 在这里输出
System.out.println(value);追问

java.util.Iterator it = hm.entrySet().iterator();

这句为什么写成Iterator it = hm.entrySet().iterator();会出错
还有这句
Object key = entry.getKey(); key的类里面要写一个toString方法,是这个意思吗?

追答

写成Iterator it = hm.entrySet().iterator();  不是出错,是你没导入Iterator
写一个toString方法是在key的类型定义里写。

因为“hashmap的key是一个类,类中有两个字符串”,你要输出key,应该是要把key的两个字符串输出来吧,那么toString方法可以这么写

public String toString() {
    return "属性A:"+属性A+", 属性B:"+属性B;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-23
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行map值的存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
HashMap<String,String> headers = new LinkedHashMap<String,String>();//创建一个map
headers.put("Cache-Control", "no-cache");//给map赋第一个值
headers.put("Connection", "close");//给map赋第二个值
Set keys1 = headers.keySet();//获取所有的key值
pw.write("我是要写入到记事本文件的内容"+keys1 );//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。本回答被网友采纳
第2个回答  2014-03-31
重写key这个类的toString方法
相似回答