自动将数字添加到HashMap <integer,string =“”>

时间:2015-09-19 21:38:36

标签: java

让我说我有

public HashMap<Integer, String> matchup = new HashMap<>();

而不是手动添加密钥,我怎样才能在1到100的顺序中添加数字,所以让我们。

假设我有3个用户,当他们点击一个名为将我添加到其他人的按钮时,他们会被添加到quene中,其中包含由quene中的位置定义的Integer键。

因此,如果第一个用户单击该按钮,他将自动使用字符串为键值1分配。

因此,如果第二个用户单击该按钮,他将自动为字符串分配键值2。

因此,如果第三个用户点击该按钮,他将自动为字符串赋值3。

等;

2 个答案:

答案 0 :(得分:2)

正如我在VA31回复的评论中提到的那样 - 你可以改进你的代码。只是让线程安全。

您可以尝试以下代码:

public class Click {

private AtomicInteger counter = new AtomicInteger(0);
private Map<Integer, String> matchup = new ConcurrentHashMap<>();

public void onClick(String input) {
    matchup.put(counter.incrementAndGet(), input);
}
}

答案 1 :(得分:1)

以下代码可能有所帮助:

public class Click {

    private static int counter = 0;
    public static HashMap<Integer, String> matchup = new HashMap<>();

    public void onClick(String input) {
        matchup.put(counter++, input);
    }
 }