Как сохранить несколько карт на карте?

Можно ли установить более двух парных значений?

Например:

Map 

номер, имя, адрес, телефон – все собраны для отображения значений. Каждое значение связано с другими.

Вы находитесь в отрицании объектов. Вы должны использовать объект, который содержит номер, имя, адрес, телефон (возможно, вы могли бы назвать его ContactInformation ) и поместить его на карту.

Нет. Map имеет только один ключ . Если вы хотите, чтобы ваше значение содержало больше информации, оберните строки в новый class:

 public class PersonalInfo { private final String name; private final String address; private final String phone; // constructor and getters } map.put(number, new PersonalInfo(name, address, phone)); 

«Правильным» решением является использование объекта, который содержит значения в именованных полях, но в духе ответа на заданный вопрос простое (если нечистое) решение должно было бы использовать:

 Map> yourMap = new HashMap>(); List info = new ArrayList(); info.add(number); info.add(name); info.add(address); info.add(phone); yourMap.put(key, info); 

Обратите внимание, что в google-коллекциях есть серия classов, которые реализуют эту структуру прямо из коробки, называемой ListMultimap, и ее реализация ArrayListMultimap

Нет, карта может иметь только один ключ и сопоставляется с одним значением.

Это Javadoc for Map:

Объект, который сопоставляет ключи значениям. Карта не может содержать дубликаты ключей; каждый ключ может отображать не более одного значения.

Что вы можете сделать, так это создать объект под названием User с некоторыми подробностями, например

 public class User implements Serializable { private String firstName; private String lastNumber; private String address; private String phoneNumber; //Generated getters and setters here.... } 

затем добавьте его на такую ​​карту …

 Map userMap = new HashMap(); User user = new User(); //populate user userMap.put(uniqueUserID, user); 

На всякий случай вы хотите сохранить карту: «номер, имя» -> «адрес, телефон», и вы не хотите создавать class для инкапсуляции этих атрибутов. Вы можете посмотреть в удобном MultiKey в коллекциях Apache Commons:

http://commons.apache.org/collections/apidocs/org/apache/commons/collections/keyvalue/MultiKey.html

Hmmm, вы можете создать class для Person с номером, именем, адресом и phoneno, тогда вы создадите карту

Как говорили другие, карта представляет собой сопоставление между ключом и значением. Вот почему javadoc для карты говорит (поскольку generics in v5):

 Interface Map 

… где K – тип ключа, а V – тип значения. Просто . Вы должны определить ровно два типа.

Стоит отметить, что в математике «карта» – это термин, означающий преобразование значения одного типа в значение другого типа. Карта Java является reflectionм этого (как и карта методов, доступная для коллекций в Scala).

Ваш вопрос подсказывает, что вам нужен ключ на каждом из 4 полей, а все остальные становятся значениями. Хотя в общем случае это один ключ и несколько значений, упакованных на объект.

Пожалуйста, подтвердите, что требуется.

  • Разница между HashMap, LinkedHashMap и TreeMap
  • moveCamera с ошибками CameraUpdateFactory.newLatLngBounds
  • Отображение MapView с отсутствующими fragmentами с «x» в центре
  • Есть ли хороший способ иметь карту Получить и положить игнорировать случай?
  • Ошибка Inflating class com.google.android.maps.MapView
  • Захват снимка экрана Google API для Android API V2
  • Давайте будем гением компьютера.