抱歉,我想不出其他标题。我正在用Java编写带有大量不同变量的程序。因此,我决定使用HashMaps(或在普通映射中)。但是我对Java中的复杂映射了解不多。我只知道“ HashMaps”以及如何使用它们。这是我可以使用的2个不同的HashMaps:
public class Storage {
public static HashMap<String, Boolean> user = new HashMap<>();
public static HashMap<Integer, Double> money = new HashMap<>();
}
所以,现在有点混乱了。因此,如您所见,有2个HashMap。在第一个HashMap中,每个键的值都是true或false。
public class test {
String s = "Tester";
public void on() {
if(Storage.user(s) == true) {
//That part will be my question
}
}
}
因此,如果给定String的值为true,则应该有一个额外的HashMap,就像在Storage类中一样。但是我的意思是,每个String(如果确实如此)都应该有一个HashMap,并且它们不应共享一个Map。如我所说,我对地图了解不多,也许HashMaps是完全错误的。如果是这样,对不起。希望您能解决我的问题并知道合适的解决方案
如果要为每个用户分别指定一个Map<Integer, Double>
(由String
标识,则创建一个Map<String, Map<Integer, Double>>
。
您不需要到Boolean
的映射,因为您可以使用containsKey()
检查用户的存在,或者仅获取外部映射的值并检查null
。
class Storage {
public static Map<String, Map<Integer, Double>> user = new HashMap<>();
}
Map<Integer, Double> money = Storage.map.get(userName);
if (money != null) {
// code here
}