Возможный дубликат:
Как эффективно перебирать каждую запись на «карте»?
Каков наилучший способ перебора элементов в HashMap
?
У меня есть карта, которая имеет строки для ключей и значений.
Данные выглядят следующим образом:
«вопрос1», «1»
«question9», «1»
"question2", "4"
"question5", "2"
Я хочу отсортировать карту по ключам. Итак, в итоге у меня будет question1, question2, question3
. ,
В чем разница между следующими картами, которые я создаю (в другом вопросе люди ответили, используя их, казалось бы, взаимозаменяемо, и мне интересно, если / как они отличаются):
HashMap map = new HashMap();
Map map = new HashMap();
Как поясняется в обновлении 3 , этот ответ , это обозначение:
var hash = {};
hash[X]
на самом деле не хэширует объект X
; на самом деле он просто конвертирует X
в строку (через .toString()
, если это объект, или
Будет ли это наилучшим способом сортировки хеша и возврата объекта Hash (вместо Array):
h = {"a"=>1, "c"=>3, "b"=>2, "d"=>4}
# => {"a"=>1, "c"=>3, "b"=>2, "d"=>4}
Hash[h.sort]
# => {"a"=>1, "b"=>2, "c"=>3, "d"=>4}
Если я передам один и тот же ключ несколько раз в метод put
HashMap
, что произойдет с исходным значением? А что если даже значение повторяется? Я не нашел никакой документации по этому вопросу.
Случай 1: перезаписанные значения для ключа
...Как (самый быстрый / чистый / простой) способ преобразовать все ключи в хэше из строк в символы в Ruby?
Это было бы удобно при разборе YAML.
my_hash = YAML.load_file('yml')
Я хотел бы иметь возможность использовать:
my_hash[:key]
Вместо:
my_hash['key']
У меня есть два объекта HashMap
, определенные так:
HashMap map1 = new HashMap();
HashMap map2 = new HashMap();
У меня также есть третий объект HashMap
:
HashMap map3;
Как объединить map1
и map2
в map3
?
Это довольно просто с простым хешем вроде
{:a => "a", :b => "b"}
, который будет переводиться в
"a=a&b=b"
Но что вы делаете с чем-то более сложным, как
{:a => "a", :b => ["c", "d", "e"]}
, который следует перевести
...Как я могу создавать и извлекать ассоциативные массивы в Java, как я могу в PHP?
Например:
$arr[0]['name'] = 'demo';
$arr[0]['fname'] = 'fdemo';
$arr[1]['name'] = 'test';
$arr[1]['fname'] = 'fname';
Я признаю, что я немного новичок в рубине (сейчас пишу сценарии рейка). На большинстве языков легко найти конструкторы копирования. Полчаса поиска не нашел его в рубине. Я хочу создать копию хэша, чтобы я мог изменить ее, не затрагивая исходный экземпляр.
...Одной из основных структур данных в Python является словарь, который позволяет записывать «ключи» для поиска «значений» любого типа. Это реализовано внутри как хеш-таблица? Если нет, то что это?
Я видел несколько интересных утверждений о SO хэш-картах Java и времени их поиска O(1)
. Может кто-нибудь объяснить, почему это так? Если эти хеш-карты не сильно отличаются от любых алгоритмов хэширования, на которые я был куплен, всегда должен существовать набор
Помимо того, что HashSet
не допускает дублирование значений, в чем разница между HashMap
и Hashset
?
Я имею в виду реализацию мудрой? Это немного расплывчато, потому что оба используют хеш-таблицы для хранения значений.
Я знаю, что у STL есть HashMap API, но я не могу найти хорошую и исчерпывающую документацию с хорошими примерами по этому поводу.
Любые хорошие примеры будут оценены.
Существует случай, когда карта будет построена, и после ее инициализации она никогда не будет изменена снова. Однако к нему можно будет получить доступ (только через get (key)) из нескольких потоков. Безопасно ли использовать java.util.HashMap
таким образом?
(В настоящее время я
...В Ruby дан массив в одной из следующих форм. , ,
[apple, 1, banana, 2]
[[apple, 1], [banana, 2]]
. , , Каков наилучший способ преобразовать это в хеш в форме. , ,
{apple => 1, banana => 2}
Итак, если я пытаюсь удалить элементы из Java HashSet во время итерации, я получу ConcurrentModificationException . Каков наилучший способ удалить подмножество элементов из HashSet , как в следующем примере?
Set set = new HashSet();
for(int i = 0; i <
... Я использую постоянные объекты с использованием JPA. Главный объект имеет отношение «один-много» с другим объектом. Другой объект хранится в HashMap. Какая синхронизация решит эту проблему? Кажется, это происходит в совершенно случайное время и очень непредсказуемо. Вот исключение, которое я получаю:
...