Что Java использует, чтобы определить, является ли ключ дубликатом в Карте?

Вот как вы фильтруете df с двумя условиями:

  • init df = pd.DataFrame([[1,2],[1,3],[1,5],[1,8]],columns=['A','B'])
  • операция: res = df[(df['B']<8) & (df['B']>2)]
  • результат:

       A  B
    1  1  3
    2  1  5
    

В вашем случае:

stats_2_and_over_under_3_stds = stats_over_29000[(stats_over_29000['count'] >= stats_over_29000_second_std) & (stats_over_29000['count'] < stats_over_29000_third_std)]
12
задан 13 December 2008 в 03:51
поделиться

5 ответов

Map интерфейс указывает это, если два ключа null они - дубликаты, иначе если существует ключ k таким образом, что key.equals(k), затем существует дубликат. Посмотрите содержание или получите метод здесь:

http://java.sun.com/javase/6/docs/api/java/util/Map.html#containsKey (java.lang. Объект)

Однако это составило Map реализация, как пойти о выполнении той проверки и a HashMap будет использовать хэш-код для сужения потенциальных ключей, с которыми он сверится equals метод. Так на практике, для типичной основанной на хеше карты, для проверки на дубликаты карта возьмет хэш-код (вероятно, модификация некоторый размер), и использование equals выдерживать сравнение с любыми ключами, модификация хэш-кода которых тот же размер дает тот же остаток.

19
ответ дан 2 December 2019 в 06:45
поделиться

Считайте вопрос неправильно, но ответ человека выше корректен, и моя ссылка предоставляет ответ относительно того, как это определяется (равняется методу). Посмотрите на содержание и получите методы в ссылке.

Как карта вставляет: не может быть дубликата, вводят Карту. Это заменит старое значение новым значением при нахождении дублирующегося ключа. Вот ссылка на Интерфейс Карты. Кроме того, при рассмотрении помещенного (K ключ, V значений) метод, это также объясняет, как работает карта. Надежда, которая помогает.

3
ответ дан 2 December 2019 в 06:45
поделиться

Я предполагаю, что Вы обращаетесь к java.util.Map, который является интерфейсом, обеспеченным в стандартных библиотеках Java. Метод определения, если ключ является дубликатом, оставляют до определенной реализации. A java.util.HashMap использование equals и hashCode, например. Можно записать собственную реализацию Карты, которая использует что-то полностью различное.

1
ответ дан 2 December 2019 в 06:45
поделиться

Это использует равняние () метод на ключе. Хэш-код () метод просто помогает эффективно сохранить ключи для карты.

0
ответ дан 2 December 2019 в 06:45
поделиться

Осторожный на пограничном случае здесь. Пустые ключи не, всегда копирует. На самом деле пустые ключи оказываются для порождения больших Реализаций Map промежутка разочарования (см. мое сообщение на Непротиворечивости).

Например, пустые ключи в порядке в HashMaps, но не в TreeMap, который использует естественное упорядочивание или ConccurentHashMap, где пустые ключи запрещаются. Проблема здесь состоит в том, что они выдают неперехваченные исключения на многих их методах, если Вы используете пустой ключ, и это представляет страшные ошибки во время выполнения при переключении реализаций во время рефакторинга.

0
ответ дан 2 December 2019 в 06:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: