我对HashMap
的逻辑定义有困难。
例如,我创建了以下类来存储一些必需的数据,我只是想知道它是否是良好的实现?我使用静态HashMap
,因为自应用程序处于活动状态以来,我一直需要这些HashMaps
。
public abstract class DataTable {
private static HashMap<String, String[]> mainData = new HashMap<String, String[]>();
public static void putData(String[] data) {
// put some data
}
public static String[] getData(String alias) {
// return entered data with the given alias
}
}
任何建议都将不胜感激......
答案 0 :(得分:-1)
你的静态理解是可以的。
你的方法(设定者和吸气剂)应该是
public static void putData(String key ,String[] data) {
mainData.put(key, data);
}
public static HashMap<String, String[]> getData(String alias) {
return mainData;
}
当然,显然适当的gauridng和异常处理是强制性的。
更新:正如您在评论中提到的那样,您在地图上使用ConcurrentHashMap询问线程安全性。
Map<String, String[]> mainData = new ConcurrentHashMap<String, String[]>();
这是
一个哈希表,支持检索的完全并发和可更新的预期并发性。