如何搜索存储在哈希图中的匹配对?
How to search matching pair stored in hashmap?
我需要搜索存储在 LinkedHashMap 中的匹配值对。
我尝试了以下代码,但它给出了任何存在的值的真值,但我只希望它 return 当相应的值与键值匹配时为真。
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";只有这样它才应该 return true.
任何其他替代方法也很可取,基本上我必须匹配存储在 json 文件中的对。
只需使用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 {}
块中),而不是每次调用该方法时。
我需要搜索存储在 LinkedHashMap 中的匹配值对。
我尝试了以下代码,但它给出了任何存在的值的真值,但我只希望它 return 当相应的值与键值匹配时为真。
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";只有这样它才应该 return true.
任何其他替代方法也很可取,基本上我必须匹配存储在 json 文件中的对。
只需使用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 {}
块中),而不是每次调用该方法时。