Почему индексы - это свойство коллекции, а не списка? - PullRequest
2 голосов
/ 28 мая 2020

Kotlin списки имеют полезное свойство indices, которое обеспечивает диапазон допустимых индексов.

Но, согласно https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/indices.html, на самом деле это свойство не только списков, но и коллекций. Провел эксперимент и, конечно же, набор также имеет это свойство.

Но наборы нельзя индексировать целыми числами, как списки. Так что говорить об индексах набора не имеет смысла.

Учитывая это, почему это свойство коллекций в целом, а не просто списков (и массивов)?

1 Ответ

1 голос
/ 28 мая 2020

Но наборы нельзя индексировать целыми числами, как списки. Поэтому бессмысленно говорить об индексах набора.

Возможность произвольного доступа к элементу по индексу - одно из применений индексов. Но вы можете использовать их как целочисленные ключи. В основном они определяются как отображение целочисленного диапазона для элементов, поэтому это работает для любой коллекции. В коде это просто реализовано как [0..size)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...