Вопросы насчёт использования Collection

Добрый день.
Начинаю изучать коллекции.
Возникли несколько вопросов:

Правильно ли я понимаю, что:
1) Мы добавили элемент в коллекцию, теперь никак нельзя изменить ни его ключ, ни его значение напрямую? Можно только путём удаления этого элемента и добавления нового?

2) Нельзя проверить наличие ключа в коллекции напрямую? Можно только попытавшись создать новое значение с таким ключом и увидев ошибку?

3) Нельзя проверить наличие значения в коллекции напрямую? Можно только циклом?

4) Нельзя получить его .Items или . Keys напрямую (без цикла) как в случае со словарём?

5) Что может заставить использовать коллекции когда есть словари?
Пока я знаю что, примерно после 100 тыс.ключей словари медленно работают.
Плюс к ключу и значению в коллекциях есть индекс (хотя я ещё не представляю какое это может дать преимущество)
Ещё какие-то существенные преимущества коллекций есть?

Понравилась статья? Поделиться с друзьями:
Комментарии: 3
  1. Светлана

    1. Верно. Чтобы заменить ключ, надо удалить старый и добавить новый
    2. Верно. Напрямую проверить наличие ключа нельзя — только через добавление и проверку на ошибку
    3. Верно. Встроенных методов нет. Можно собирать свой массив в том же цикле, что и наполнение коллекции — вот тут показал, но на примере карт Виталия
    4. Кроме выгоды на объёмах более 100 тыс ключей никакой выгоды нет (я не вижу). А при использовании карт Виталия выгоды нет ВООБЩЕ :D
    Ну ещё то, что они встроены, а словари надо подключать (для кого-то это важно)
    Словари гораздо удобнее и быстрее при большинстве задач

  2. Автор

    Ещё пара вопросов, по-моему не стоит создавать отдельную тему:

    Прав ли я:
    1) Ни в словарях, ни в коллекциях нельзя узнать напрямую содержат ли они определённое (известное нам) значение? Можно только через цикл.

    2) Ни в словарях, ни в коллекциях нельзя узнать напрямую ключ или индекс, когда нам известно значение? Да, я знаю, что ключи уникальные а значения могут повторяться, но всё таки :-)

    3) В коллекциях нельзя напрямую узнать индекс, когда нам известен ключ?

    4) В массиве тоже нельзя напрямую узнать индекс элемента, когда нам известен сам элемент? Можно только циклом. Элементы тоже могут быть неуникальны, знаю :-)

  3. Мария

    1) если значение, которое привязано к какому-то ключу словаря — да, искать только через цикл.
    2) поиск ключа по значению — также только через цикл.
    4) да.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: