如何获取密钥以及如何添加更多值?

时间:2018-12-24 15:50:55

标签: java hashmap key

DELETE

如何在用户回答特定值时获取键,以及如何为一个键添加更多值?

1 个答案:

答案 0 :(得分:2)

1。。地图集在同一键下不支持多个值,它将覆盖以前存储的所有内容。< / p>

2。。但是,您可以将其从<String,String>更改为<String,List<String>>,从而可以将客户的答案累积到列表中。该键将仅引用一个对象,即字符串列表,但该列表本身可以包含许多值。

3。。为了向列表中添加更多字符串,您将需要通过所需键检索列表,然后向其中添加新的字符串。

以下是实现该想法的代码:

private void test(){
        Map<String, List<String>> categories = new HashMap<>();
        String answerFromClient = "Some text";
        List<String> actionAnswers = categories.get("action");
        if (actionAnswers == null){
            actionAnswers = new ArrayList<>();
            actionAnswers.add(answerFromClient);
            categories.put("action",actionAnswers);
        }
        else{
            actionAnswers.add(answerFromClient);
        }
    }