Как искать подходящую пару, хранящуюся в hashmap? - PullRequest
2 голосов
/ 27 марта 2019

Мне нужно найти соответствующую пару значений, хранящихся в LinkedHashMap.

Я попробовал следующий код, но он дает true для любых значений, но я только хочу, чтобы он возвращал true, когда соответствующее значениесопоставить со значением ключа.

bt2.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        try {   
            if(CheckValueExample.checkRelationship(txtKey.getText(),txtValue.getText())==true)      
                System.out.println("Pair Match");
            else
                System.out.println("No-Pair Match");
        } catch (Exception ex) {
            Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
});

Метод сопоставления пар:

public static boolean checkRelationship(String key, String value) {
    HashMap<String, String> hashmap = new LinkedHashMap<String, String>();

    // Adding Key and Value pairs to HashMap
    hashmap.put("Bus","Land_Vehicle");
    hashmap.put("SchoolBus","Bus");
    hashmap.put("Truck","Land_Vehicle");
    hashmap.put("Land_Vehicle","Vehicle");

    boolean flag=false;
    if(hashmap.containsKey(key)&&hashmap.containsValue(value))
        flag=true; 
    else
        flag=false;

    return flag;
}

Предположим, когда введен ключ "Bus", а введено значение "Land_Vehicle";только тогда он должен возвращать true.

Любой другой альтернативный способ сделать это также примечателен, и в основном я должен сопоставить пару, сохраненную в файле json.

1 Ответ

4 голосов
/ 27 марта 2019

Просто используйте hashmap.containsKey(key) && hashmap.get(key).equals(value), чтобы проверить отношения.

Он получает значение для key, если оно существует, и сравнивает его с заданным value.

Вот полный метод:

public static boolean checkRelationship(String key, String value) {
    return hashmap.containsKey(key) && hashmap.get(key).equals(value);
}

Вы также должны инициализировать HashMap только один раз (например, в блоке static {}), а не каждый раз, когда вызывается метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...