Есть ли способ решить, если значение в одной паре hashmap совпадает с ключом в другой паре? - PullRequest
2 голосов
/ 02 апреля 2019

Прошу прощения заранее, поскольку у меня действительно нет возможности выразить проблему, о которой я хочу спросить, но здесь я мог бы проинформировать с помощью моего примера кода, что я хочу

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) && 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 Ответ

2 голосов
/ 02 апреля 2019

Если вы хотите проверить отношения между 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");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...