Коллеги, я хочу создать мапу, которая будет содержать список городов как ключе и список фамилий как значений, но получается какая то белиберда.
Map<List, List> familyAndCityList = new HashMap<>();
familyAndCityList.putAll((Map<? extends List, ? extends List>) cityList);
familyAndCityList.putAll((Map<? extends List, ? extends List>) list);
подскажите, как лучше это сделать.
public static void main(String[] args) throws IOException {
       BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

       List<String> list = new ArrayList<>();
       while (true) {
           String family = reader.readLine();
           if (family.isEmpty()) {
               break;
           }

           list.add(family);
       }


       List<String> cityList = new ArrayList<>();
       while(true){
       String city = reader.readLine();
       if (city.isEmpty()){
           break;
       }
       cityList.add(city);
   }


       Map<List, List> familyAndCityList = new HashMap<>();
       familyAndCityList.putAll((Map<? extends List, ? extends List>) cityList);
       familyAndCityList.putAll((Map<? extends List, ? extends List>) list);


       for (Map.Entry<List, List> entry:
       familyAndCityList.entrySet()){
           if (!familyAndCityList.isEmpty() && !cityList.isEmpty()) {
               String familyName = entry.getValue(); // подчёркивает идея
               System.out.println(familyName);
       }