Vladimir Nadulich
1. то что массив отсортирован, а соответствие нет - это заложенные свойства, а не достоинства/недостатки.
2. почему добавление ключа в соответствие тяжелая операция? не уверен как внутри ведет себя 1с... хэш ключа, адрес? из какого языка пришла такая инфа?
3. про какой двоичный поиск речь? по идее у объекта должен уже быть айди/адрес, по нему получаем пару.
4. ну бред же... Какой поиск по индексу, если индекс обычно не известен и везде в коде видим Массив.Найти()?
Про какую задачу идет речь понять не могу, где массив будет выгоден? Там где не нужно соответствие - да. А если нужно? А если нужен быстрый поиск по ключу? Приведите пример алгоритма, хоть намекните или опишите решение с помощью массива моего примера задачи выше.
Еще раз сформулирую наиболее часто встречающуюся Задачу, в которую любят лепить массив:
- перебрать коллекцию 10000 элементов, что-то с ними сделать, но при этом выполнить проверку (исключить) вхождения элемента в некую другую коллекцию из N элементов.
Так вот, если вторую коллекцию запихать в массив и проверку выполнять как М.Найти(), то это фактически еще один вложенный цикл. Выполнение будет условно в N раз дольше, чем с помощью словаря-соотвествия. Куда тут индексы массива пристроить?
Про вопрос о работе с 10000 объектов, писали выше, это бинарный поиск