gpt4 book ai didi

Java:如何将 HashMap >> 写入文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:28 26 4
gpt4 key购买 nike

所以我可以写:

HashMap<String, ArrayList<Integer>> ...

但是当涉及到像

这样的结构时
HashMap<String, HashMap<Integer, ArrayList<Integer>>> ...

我失败了...

Set<String> keys = outer.keySet();
List<String> list = sortList(keys);
Iterator<String> it = list.iterator();
HashMap<Integer,ArrayList<Integer>> inner=new HashMap<Integer,ArrayList<Integer>>();
while (it.hasNext()) {
String key = it.next();
Set<Integer> ids= inner.keySet();
List<Integer> positions=sortList(ids);
Iterator<Integer> itIn=positions.iterator();
while(itIn.hasNext()){
String id= it.next();
output.write(key + "\t" + outer.get(key) + " " +inner.get(id) +"\n");
}
}

我的代码可以写出所有外层的键,Integer1的第一个元素但是看不到列表等等。
如何与内部 hashmap 和外部 hashmap 建立连接?

最佳答案

如何通过 ObjectOutputStream 将整个对象存储为文件? ?像这样的东西:

public static void saveObject(HashMap<String, HashMap<Integer, ArrayList<Integer>>> obj, String filePath)
{
OutputStream os = null;
try
{
os = new ObjectOutputStream(new FileOutputStream(filePath));
os.writeObject(obj);
}
catch(Exception ex){}
finally
{
os.close();
}
}

然后你可以像这样加载它:

public static HashMap<String, HashMap<Integer, ArrayList<Integer>>> loadObject(String filePath)
{
HashMap<String, HashMap<Integer, ArrayList<Integer>>> obj = null;
InputStream is = null;
try
{
is = new ObjectInputStream(new FileInputStream(filePath));
obj = (HashMap<String, HashMap<Integer, ArrayList<Integer>>>) is.readObject();
}
catch(Exception ex){}
finally
{
is.close();
}
return obj;
}

请注意,您需要实现Serializable 接口(interface)才能使用此对象序列化。

关于Java:如何将 HashMap <String, HashMap<Integer, ArrayList<Integer>>> 写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8870576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com