Java:我应该如何将每个用户的东西存储在内存中

Jam*_*s T 0 java memory storage data-structures

我需要将特定于用户名的值存储到内存中,我正在考虑动态命名变量等内容,以便我可以做类似的事情

["bubby4j_falling"] = true;
Run Code Online (Sandbox Code Playgroud)

并索引它

["bubby4j_falling"]
Run Code Online (Sandbox Code Playgroud)

但是,这只是一个例子,我知道这不会起作用,我只想要一种快速简单地动态获取和存储东西的方法.

Paŭ*_*ann 7

您想要使用带有字符串键的Map,例如a HashMap<String, something>.

您的示例如下所示:

Map<String, Boolean> map = new HashMap<String, Boolean>();
map.put("bubby4j_falling", true);

if(map.get("bubby4j_falling")) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

实际上,在你的情况下,一个Set<String>更有用:

Set<String> fallingUsers = new HashSet<String>();
fallingUsers.add("bubby4j");

if(fallingUsers.contains("bubby4j")) { ... }
Run Code Online (Sandbox Code Playgroud)

但是,如果你已经有了User对象(你应该),你应该更好地使用a Set<User>,或者甚至让它falling只是用户对象的属性.然后你可以Map<String, User>通过名称获取用户对象.