我正在编写一个程序,它从硬盘读取大量数据,并根据此数据创建哈希表,然后进行一些处理,稍微更改此初始哈希表。我的问题是,每次运行我的程序时,我都会从相同的数据创建相同的散列映射(让我们称之为初始散列映射)。只有处理不同于一次运行才能运行。无论如何,我可以创建一次hashmap并永久保存它?序列化会有帮助吗?将哈希表保存在永久存储器中
1
A
回答
2
这是一个众所周知的问题,有很多解决方案,其中我建议两个: 1.将散列表保存在SQL数据库表中,主键列包含键值,另一列包含相应的值; 2.使用nosql数据存储,其中有很多,其他Redis或SimpleDb。
-2
这里提出了类似的问题;我建议谷歌搜索:
java persistent hash table
说了这么多,你可以手动的键值对保存到文件或数据库,并重建启动时的哈希值。
2
由于HashMap的是序列化的,我会用这种方式来保存它:
public void saveStatus(Serializable object){
try {
FileOutputStream saveFile = new FileOutputStream("current.dat");
ObjectOutputStream out = new ObjectOutputStream(saveFile);
out.writeObject(object);
out.close();
fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
要恢复你的对象只是做这样的:
public Object loadStatus(){
Object result = null;
try {
FileInputStream saveFile = new FileInputStream("current.dat");
ObjectInputStream in = new ObjectInputStream(saveFile);
result = in.readObject();
in.close();
fileIn.close();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
然后你才可以施展你的对象这个方法返回一个HashMap并继续在同一个地方。
相关问题
- 1. 将哈希存储在内存中
- 2. 如何在swift中将高分保存到永久存储中
- 3. 在哈希中存储哈希
- 4. 将单词存储到哈希表中
- 5. android永久存储器
- 6. iPhone永久存储器
- 7. 将值永久保存在var中?
- 8. Perl中,存储在哈希
- 9. 在SQLite中永久保存表
- 10. Android永久存储
- 11. 存储值永久?
- 12. Mule永久存储
- 13. 存储和从哈希表
- 14. CoreData永久保存?
- 15. 永久保存CoreData
- 16. 将可序列化对象保存在永久存储器中(android)
- 17. 如何在c#中存储哈希表?
- 18. 在哈希表中存储txt数据
- 19. Phonegap中的永久存储
- 20. 如何在哈希中存储哈希哈希?
- 21. Python中的共享永久存储器
- 22. 永久存储在kubernetes容器
- 23. 存储bcrypt哈希
- 24. 存储哈希值
- 25. 保存哈希值
- 26. 存储问题永久存储iphone
- 27. 于存储在哈希
- 28. 在哈希存储阵列
- 29. 内存泄漏到永久存储中
- 30. 将表格数据永久保存在表格中