- 1
List<KeyValuePair<string, string>> documentList = GetList();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+130
List<KeyValuePair<string, string>> documentList = GetList();
использование списка пар ключ-значение вместо словаря (Dictionary<string, string>)
guest 22.11.2013 16:53 # −12
зачем мне тянуть всю эту бадью, если передавать мне нужно просто список пар?
roman-kashitsyn 22.11.2013 16:59 # +5
anonimb84a2f6fd141 22.11.2013 17:25 # +11
roman-kashitsyn 22.11.2013 17:35 # +3
anonimb84a2f6fd141 22.11.2013 17:44 # +9
roman-kashitsyn 22.11.2013 18:14 # +2
anonimb84a2f6fd141 22.11.2013 18:18 # +10
roman-kashitsyn 22.11.2013 18:22 # +2
В общем случае можно начинать сразу с хэш-таблички и не думать.
Если готовой реализации ни того ни другого нет, а размеры маленькие, я бы начал со списка пар.
anonimb84a2f6fd141 22.11.2013 18:31 # +11
>Если готовой реализации ни того ни другого нет,
Сишкопроблемы? Во всех нормальных языках есть хотя бы хешмеп.
guest 22.11.2013 18:31 # −19
guest 22.11.2013 20:35 # −17
guest 22.11.2013 20:46 # −17
LispGovno 29.11.2013 23:39 # +2
roman-kashitsyn 29.11.2013 23:41 # +2
WGH 22.11.2013 17:32 # +1
WGH 16.12.2013 13:18 # +1
guest 22.11.2013 20:51 # −15
anonimb84a2f6fd141 22.11.2013 21:15 # +13
guest 22.11.2013 22:19 # −17
Но пацаны, как всегда, не обратили внимания на это визгливое кукареканье. Пусть кукарекает, что с него взять?
Петух — не человек, и сегодня ему предстоит очень трудная ночь. У него уже в течение полутора лет каждая ночь была очень трудной, и теперь его анус был разработан настолько, что он без труда мог спрятать в нём банку сгущёнки.
guest 29.11.2013 07:11 # +1
1) могут быть повторяющиеся ключи
2) мне важен порядок этих пар
3) 1 и 2 вместе
anonimb84a2f6fd141 29.11.2013 17:16 # −1
bormand 29.11.2013 18:47 # +2
Тебе будет приятно, если главы в книге будут перемешаны в хаотичном порядке (аля хешмап) или будут упорядочены по их названию (аля тримап)? :) Ты же получишь такой быстрый доступ к главе по ее названию...
И всегда нужно понимать, что у контейнеров нет класса сложности. Он есть только у операций над ним.
anonimb84a2f6fd141 29.11.2013 19:21 # +1
Давай не будем к словам цепляться? Можно догадаться, что речь о сложности поиска и удаления.
bormand 29.11.2013 19:30 # +2
Да я разве спорю, самая тупая версия - комбо из хешмапа и списка (жабий LinkedHashMap). Вставляет, удаляет за амортизированное O(1). Ищет за O(1). Обходит шустро и в правильном порядке. В пыхе вон его вообще по дефолту сунули, чтобы народ радовался скорости и правильному порядку :)
> Можно догадаться, что речь о сложности поиска и удаления.
А можно догадаться, что речь о сложности вставки в конец (открыли новый документ), удаления (закрыли документ) и полного скана (список рисуется в окне, на несколько порядков чаще, чем документы открываются и закрываются). О точном применении этой структуры знает только автор. То что он юзает KeyValuePair еще совсем не означает, что эта хуйня юзается как словарь. По мне так автору просто было влом описывать отдельный класс с двумя полями. Давай не будем гадать?
Где-то лучше хешмап. Где-то лучше банальный список. Все зависит от операций и их частоты.
anonimb84a2f6fd141 29.11.2013 22:54 # +1
Для удаления надо сначала найти.
>Давай не будем гадать?
Давай. В общем случае linkedhashmap будет горазно лучше.
bormand 29.11.2013 23:30 # +1
Ну если на память пофиг - согласен.
anonimb84a2f6fd141 29.11.2013 23:38 # 0
Чем меньше известно об условиях, тем более общий нужен алгоритм. А то будет как сортировка в myisam.
LispGovno 29.11.2013 23:45 # +1
> сублинеарной
Что это?
anonimb84a2f6fd141 30.11.2013 00:04 # 0
LispGovno 30.11.2013 00:10 # +1
defecate-plusplus 30.11.2013 15:56 # +1
bormand 30.11.2013 16:28 # 0
LispGovno 01.12.2013 03:13 # 0
Это цитата из чешского советского мультика про крота?
bormand 01.12.2013 09:38 # +1
defecate-plusplus 02.12.2013 09:19 # +1
TarasB 02.12.2013 09:33 # 0
defecate-plusplus 02.12.2013 09:50 # 0
для настоящего ха у них есть ch