Что такое эквивалент Java для массива PHP с нечисловыми ключами? - PullRequest
3 голосов
/ 17 декабря 2010

Что было бы эквивалентным Java для массива php следующим образом:

$user = array("name" => "John", "email" => "john@mail.com");

Ответы [ 7 ]

7 голосов
/ 17 декабря 2010

Вы можете использовать HashMap или Hashtable . Не уверен, какой из них использовать? Прочитайте API или прочитайте этот вопрос , в котором обсуждаются плюсы и минусы каждого.

HashMap<String, String> map = new HashMap<String, String>();
map.put("name", "John");
map.put("email", "john@mail.com");
6 голосов
/ 17 декабря 2010

Имейте в виду, что ассоциативные массивы PHP отслеживают порядок их вставки. Поэтому, если вы используете foreach для перебора их ключей, вы получите их в том же порядке.

Ближайший Java-эквивалент, вероятно, LinkedHashMap .

6 голосов
/ 17 декабря 2010

Реализация интерфейса Map является Java-эквивалентом ассоциативного массива, но кажется, что вам действительно нужен класс User с полями для имени и адреса электронной почты.

3 голосов
/ 17 декабря 2010

Я бы посоветовал вам использовать LinkedHashMap.Его главное преимущество перед HashMap заключается в том, что он сохраняет порядок добавления ключей.Для HashMap они появляются в псевдослучайном порядке, что делает их чтение намного сложнее.

Map<String, String> map = new LinkedHashMap<String, String>();
map.put("name", "John");
map.put("email", "john@mail.com");
2 голосов
/ 17 декабря 2010

Это называется java.util.HashMap

1 голос
/ 17 декабря 2010
Map user = new HashMap();
user.put("name", "John");
user.put("email", "john@mail.com");
1 голос
/ 17 декабря 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...