首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据用户反馈修改代码

根据用户反馈修改代码
EN

Stack Overflow用户
提问于 2012-10-17 04:19:06
回答 3查看 92关注 0票数 0

我将一些数据存储在一个哈希图中。现在,我想根据用户输入修改与键相关联的值,并永久地存储它们。

为了让我更清楚,我有一个如下的hashmap:

代码语言:javascript
复制
public static HashMap<String,Integer> mymap= new HashMap<String,Integer>();
mymap.put("Hi",2);
mymap.put("Hello",3);

我会从一些用户那里获取反馈,如果他愿意,那么我会,比方说,在Hello上存储4。我希望保存这些更改以供将来参考。

我听说过Java语言中的Reflection应用程序接口,但不确定它是否能达到这个目的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-17 04:25:11

反射API允许操作/访问以其他方式无法访问的数据-或者在编译时未知的类上的一些数据。

在这里,它真的是不需要的。您所需要做的就是将元素put()到映射中,它将从您刚刚插入的键中“移除”旧值(如果它已经存在),并将其(键)与新添加的值关联起来。

所以,基本上-所有你需要做的就是myMap.put(key,newValue)Map的实现(当然,假设它是正确的)将会处理剩下的事情。

如果你想在程序运行之间存储数据--你必须把它(地图)保存在磁盘上。为此,您可以使用serialization,或者在某些情况下可以使用Properties

确保在程序启动后从磁盘加载地图,否则将看不到存储的值。

票数 1
EN

Stack Overflow用户

发布于 2012-10-17 04:28:20

就说吧,mymap.put(key,value);。它将更新匹配键的值。如果不在那里,它将插入一个新条目,例如

代码语言:javascript
复制
      mymap.put("Hello",4);

如果您不想为新的密钥插入新值,例如World,您可以像这样打勾:

代码语言:javascript
复制
      if(mymap.containsKey(key)){
         mymap.put(key,value);
      }else{
        //no existing key found
      }
票数 0
EN

Stack Overflow用户

发布于 2012-10-17 04:38:49

Preferences API使得在磁盘上存储少量数据变得很容易。

这里有一个介绍:http://docs.oracle.com/javase/1.4.2/docs/guide/lang/preferences.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12922741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档