Permalink
Browse files

Update collections.md

  • Loading branch information...
Temon137 committed Jun 20, 2017
1 parent 22a9574 commit bf6698544c28e86cdd06620b70b389b43e39d460
Showing with 4 additions and 4 deletions.
  1. +4 −4 collections.md
View
@@ -21,15 +21,15 @@ it inherits from `Collection<T>` and that in turn inherits from `Iterable<T>`. M
`MutableList<T>` interface. This pattern holds also for `Set<out T>/MutableSet<T>` and `Map<K, out V>/MutableMap<K, V>`.
We can see basic usage of the list and set types below: -->
В отличае от многих языков, Kotlin различает изменяемые и неизменяемые коллекции (списки, множества, ассоциативные списки и т.д.).
В отличие от многих языков, Kotlin различает изменяемые и неизменяемые коллекции (списки, множества, ассоциативные списки и т.д.).
Точный контроль над тем, когда именно коллекции могут быть изменены, полезен для устранения багов и разработки хорошего API.
Важно понимать различие между read-only _представлением_ изменяемой коллекции, и фактически неизменяемой коллекцией.
Их легко создать, но вот система типов не выражает различие между ними, поэтому следить за этим должны вы (если это необходимо).
Тип `List<out T>` в Kotlin — интерфейс, который предоставляет read-only операции, такие как `size`, `get`, и другие. Так же, как и в Java,
он наследуется от `Collection<T>`, а значит и от `Iterable<T>`. Методы, которые изменяют список добавлены в интерфейс `MutableList<T>`.
Тоже самое относится и к `Set<out T>/MutableSet<T>`, `Map<K, out V>/MutableMap<K, V>`.
он наследуется от `Collection<T>`, а значит и от `Iterable<T>`. Методы, которые изменяют список, добавлены в интерфейс `MutableList<T>`.
То же самое относится и к `Set<out T>/MutableSet<T>`, `Map<K, out V>/MutableMap<K, V>`.
Пример базового использования списка (list) и множества (set):
@@ -105,7 +105,7 @@ val item = rwList.firstOrNull()
Также, обратите внимание на такие утилиты как `sort`, `zip`, `fold`, `reduce`.
<!--Maps follow the same pattern. They can be easily instantiated and accessed like this:-->
Тоже самое происходит и с ассоциативными списками. Они могут быть с лёгкостью инициализированы и использованы следующим образом:
То же самое происходит и с ассоциативными списками. Они могут быть с лёгкостью инициализированы и использованы следующим образом:
``` kotlin
val readWriteMap = hashMapOf("foo" to 1, "bar" to 2)

0 comments on commit bf66985

Please sign in to comment.