Как я могу вызвать пользовательский метод, который имеет hashmap в качестве аргумента? - PullRequest
0 голосов
/ 21 марта 2019

Это мой код ...

public class HashTest {

    public static void main(String[] args) {
       HashTest ht = new HashTest();
       ht.test(?,"abc");

    }

    public void test(HashMap<String, String> hm, String country) {
        Scanner sc = new Scanner(System.in);
        System.out.println("No. of Input : ");
        int n = sc.nextInt();
        System.out.println("Enter Values : ");
        String capital = "";
        int city;
        for (int i = 0; i < n ; i++) {
            country = sc.next();
            capital = sc.next();
            hm.put(country, capital);

        if (hm.containsValue(country)) {
            System.out.println("Result : " +hm.get(capital));
        }
    }

Теперь внутри основного метода при вызове метода test, каким будет фактический параметр вместо ??

1 Ответ

0 голосов
/ 21 марта 2019

Если вы выполняете main только для тестирования, вы можете сделать:

 public static void main(String[] args) {
   HashTest ht = new HashTest();
   HashMap hm=new HashMap<String, String>(); 
   ht.test(hm,"abc");

}

Если кто-то использует этот класс "извне".Они будут делать

//some user code
HashTest ht= new HashTest();
HashMap hm=new HashMap<String, String>();
ht.test(hm,"abc");
//more user code

Что практически совпадает.

Есть еще несколько способов создания и инициализации HashMap.Отметьте Различные способы создания HashMaps

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