#java #hashmap
#java #hashmap
Вопрос:
Заранее прошу прощения, поскольку у меня действительно нет способа выразить проблему, о которой я хочу спросить, но здесь я мог бы кратко изложить с помощью моего примера кода то, что я хочу
static {
hashmap.put("Bus","Land_Vehicle");
hashmap.put("Land_Vehicle","Vehicle");
hashmap.put("SchoolBus","Bus");
hashmap.put("Truck","Land_Vehicle");
}
public static void checkRelationship(String key, String value) {
String val1=hashmap.get(key);
String val2=hashmap.get(value);
if(hashmap.containsKey(key) amp;amp; hashmap.get(key).equals(value)==true) {
System.out.println("values: " val1 val2);
System.out.println(" Something is missing in-between");
}
Если мне нужно проверить взаимосвязь, ("Bus", "Vehicle")
это должно выдать сообщение о том, что чего-то не хватает, поскольку значение для "Bus"
и ключ для "Vehicle"
совпадают, т. Е. Land_Vehicle
.
Здесь я хочу упомянуть, что String val1
, val2
сохраняйте значения "Land_Vehicle"
и "Vehicle"
соответственно, когда я проверяю связь для ("Bus", "Land_Vehicle");
, но я не понимаю, как проверить связь для ("Bus", "Vehicle")
.
Комментарии:
1. Что не так с вашим кодом? И от чего вы ожидаете
String val2=hashmap.get(value)
?2. В коде нет ничего плохого, но если пользователь хочет проверить взаимосвязь («Автобус», «Транспортное средство»), он должен выдать сообщение о том, что «чего-то не хватает между ними». Строковые значения используются только для проверки средних значений.
Ответ №1:
Если вы хотите проверить взаимосвязь между Bus
и Vehicle
, попробуйте это:
public static void checkRelationship(String key, String value) {
String val1=hashmap.get(key); // get "Land_Vehicle"
// get value by "Land_Vehicle" and compare with "Vehicle"
if (value.equals(hashmap.get(val1))) {
System.out.println("Something is missing in-between");
}
}
Комментарии:
1. Большое спасибо, жизнь становится проще из-за таких людей, как вы. Оставайтесь благословенными!