172 похожих чатов

В чем прелесть BTreeMap? Насколько понял из описания, там удобно

батчить get операцию, т. к. ключи отсортированы по дереву. Как мне взять, допустим, все элементы с префиксом XYZ?

16 ответов

11 просмотров

Чтобы иметь возможность перебирать ключи по порядку и запрашивать сразу некоторый их диапазон. Вдобавок, очень маленькие BTreeMap могут работать быстрее HashMap, особенно с дефолтным хешером. Если эти возможности тебе не требуются, то используй HashMap и не парься

mental-stability🥺✨ Автор вопроса
Антон 🇦🇲
Чтобы иметь возможность перебирать ключи по порядк...

Что значит "по порядку"? В HashMap#iter не "по порядку"? Или имеется в виду тот порядок, в котором они были добавлены?

mental stability🥺✨
Что значит "по порядку"? В HashMap#iter не "по пор...

Итератор по HashMap выдаёт элементы в каком-то порядке. Каком именно — не фиксируется

mental-stability🥺✨ Автор вопроса
Антон 🇦🇲
Итератор по HashMap выдаёт элементы в каком-то пор...

А одинаковый хэш всё также заменяет значение, да?

На вид звучит как https://doc.rust-lang.org/stable/alloc/collections/btree_map/struct.BTreeMap.html#method.range

Тут наверное правильнее было сказать: в порядке добавления. Например в python есть гарантия, что порядок добавления = порядку итерации. В Rust такого нету

mental-stability🥺✨ Автор вопроса
Mikail Bagishov
На вид звучит как https://doc.rust-lang.org/stable...

Не то. Кажется, мне всё же нужно что-то типа trie map

mental stability🥺✨
Не то. Кажется, мне всё же нужно что-то типа trie ...

а чем не устраивает? Я вижу только проблему, что тут диапазон не очень удобно подбирать, типа XYZ..XY(Z+1)

mental-stability🥺✨ Автор вопроса
Mikail Bagishov
а чем не устраивает? Я вижу только проблему, что т...

Мне по префиксу искать нужно. XYZ это типа sample text)

mental stability🥺✨
Мне по префиксу искать нужно. XYZ это типа sample ...

ну да, и такой range() как раз вернет все записи с таким префиксом у ключа

mental-stability🥺✨ Автор вопроса
Mikail Bagishov
ну да, и такой range() как раз вернет все записи с...

Знал бы я диапазон хотя бы, можно было бы найти первый ключ и взять n после него. Мне же нужно найти все значения с "prefix_"

Смотря как критерий сортировки задан. Для строк действительно лучше другие структуры данных, но если лексикографический порядок задан, то range берётся от XYZ до XZ, кажется

можно прочитать первую строку документации) B-Trees represent a fundamental compromise between cache-efficiency and actually minimizing the amount of work performed in a search

Ivan Krivosheev
Тут наверное правильнее было сказать: в порядке до...

Я бы уточнил что в питоне это добавили в какой-то там 3.x версии

Nichita
Я бы уточнил что в питоне это добавили в какой-то ...

да маппинги раньше не гарантировали последовательность

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

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
вот что получается в интерпрететоре, работает и результаты выгляд разумными, но то как выглядит код мне не нравиться, а понять куда двигаться не очень могу, если кому не лень ...
Fedor
42
Карта сайта