- ArrayList
- Constructors
- Properties
- size
- Functions
- add
- addAll
- clear
- contains
- containsAll
- ensureCapacity
- equals
- get
- hashCode
- indexOf
- isEmpty
- iterator
- lastIndexOf
- listIterator
- remove
- removeAll
- removeAt
- removeRange
- retainAll
- set
- subList
- toArray
- toString
- trimToSize
- Inherited Functions
- containsAll
- isEmpty
- Extension Properties
- indices
- lastIndex
- Extension Functions
- addAll
- all
- any
- asIterable
- asSequence
- associate
- associateBy
- associateByTo
- associateTo
- associateWith
- associateWithTo
- binarySearch
- binarySearchBy
- chunked
- Remove an item from Array in Kotlin
- Remove an item from Mutable List in Kotlin
- Массивы и Cписки в Kotlin — Полное Руководство
- Массивы в Kotlin
- Что такое массив?
- Когда лучше использовать массивы?
- Создание массивов в Kotlin
- Массивы примитивных типов IntArray, FloatArray, DoubleArray
ArrayList
Provides a MutableList implementation, which uses a resizable array as its backing storage.
This implementation doesn’t provide a way to manage capacity, as backing JS array is resizeable itself. There is no speed advantage to pre-allocating array sizes in JavaScript, so this implementation does not include any of the capacity and «growth increment» concepts.
Constructors
Creates an ArrayList filled from the elements collection.
Properties
size
Functions
add
Adds the specified element to the end of this list.
Inserts an element into the list at the specified index.
addAll
Adds all of the elements of the specified collection to the end of this list.
Inserts all of the elements of the specified collection elements into this list at the specified index.
clear
Removes all elements from this collection.
contains
containsAll
ensureCapacity
Does nothing in this ArrayList implementation.
equals
Indicates whether some other object is «equal to» this one. Implementations must fulfil the following requirements:
get
Returns the element at the specified index in the list.
hashCode
Returns a hash code value for the object. The general contract of hashCode is:
indexOf
Returns the index of the first occurrence of the specified element in the list, or -1 if the specified element is not contained in the list.
isEmpty
iterator
lastIndexOf
Returns the index of the last occurrence of the specified element in the list, or -1 if the specified element is not contained in the list.
listIterator
Returns a list iterator over the elements in this list (in proper sequence).
Returns a list iterator over the elements in this list (in proper sequence), starting at the specified index.
remove
Removes a single instance of the specified element from this collection, if it is present.
removeAll
Removes all of this collection’s elements that are also contained in the specified collection.
removeAt
Removes an element at the specified index from the list.
removeRange
Removes the range of elements from this list starting from fromIndex and ending with but not including toIndex.
retainAll
Retains only the elements in this collection that are contained in the specified collection.
set
Replaces the element at the specified position in this list with the specified element.
subList
Returns a view of the portion of this list between the specified fromIndex (inclusive) and toIndex (exclusive). The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list, and vice-versa.
toArray
toString
Returns a string representation of the object.
trimToSize
Does nothing in this ArrayList implementation.
Inherited Functions
containsAll
isEmpty
Extension Properties
indices
Returns an IntRange of the valid indices for this collection.
lastIndex
Returns the index of the last item in the list or -1 if the list is empty.
Extension Functions
addAll
Adds all elements of the given elements collection to this MutableCollection.
Adds all elements of the given elements sequence to this MutableCollection.
Adds all elements of the given elements array to this MutableCollection.
all
Returns true if all elements match the given predicate.
any
Returns true if collection has at least one element.
Returns true if at least one element matches the given predicate.
asIterable
Returns this collection as an Iterable.
asSequence
Creates a Sequence instance that wraps the original collection returning its elements when being iterated.
associate
Returns a Map containing key-value pairs provided by transform function applied to elements of the given collection.
associateBy
Returns a Map containing the elements from the given collection indexed by the key returned from keySelector function applied to each element.
Returns a Map containing the values provided by valueTransform and indexed by keySelector functions applied to elements of the given collection.
associateByTo
Populates and returns the destination mutable map with key-value pairs, where key is provided by the keySelector function applied to each element of the given collection and value is the element itself.
Populates and returns the destination mutable map with key-value pairs, where key is provided by the keySelector function and and value is provided by the valueTransform function applied to elements of the given collection.
fun < T , K , V , M : MutableMap < in K , in V >> Iterable < T >. associateByTo (
destination : M ,
keySelector : ( T ) -> K ,
valueTransform : ( T ) -> V
) : M
associateTo
Populates and returns the destination mutable map with key-value pairs provided by transform function applied to each element of the given collection.
associateWith
Returns a Map where keys are elements from the given collection and values are produced by the valueSelector function applied to each element.
associateWithTo
Populates and returns the destination mutable map with key-value pairs for each element of the given collection, where key is the element itself and value is provided by the valueSelector function applied to that key.
binarySearch
Searches this list or its range for the provided element using the binary search algorithm. The list is expected to be sorted into ascending order according to the specified comparator, otherwise the result is undefined.
fun < T > List < T >. binarySearch (
element : T ,
comparator : Comparator < in T >,
fromIndex : Int = 0 ,
toIndex : Int = size
) : Int
Searches this list or its range for an element for which the given comparison function returns zero using the binary search algorithm.
fun < T > List < T >. binarySearch (
fromIndex : Int = 0 ,
toIndex : Int = size ,
comparison : ( T ) -> Int
) : Int
binarySearchBy
Searches this list or its range for an element having the key returned by the specified selector function equal to the provided key value using the binary search algorithm. The list is expected to be sorted into ascending order according to the Comparable natural ordering of keys of its elements. otherwise the result is undefined.
fun < T , K : Comparable < K >> List < T >. binarySearchBy (
key : K ? ,
fromIndex : Int = 0 ,
toIndex : Int = size ,
selector : ( T ) -> K ?
) : Int
chunked
Splits this collection into a list of lists each not exceeding the given size.
Splits this collection into several lists each not exceeding the given size and applies the given transform function to an each.
Remove an item from Array in Kotlin
In this post, we are going to explain different methods that can be used to delete elements from an array using Kotlin. We will be converting the array to a mutable list to delete items from array.
fun removeElement(arr: Array, itemIndex: Int): Array < val arrList = arr.toMutableList() arrList.removeAt(itemIndex) return arrList.toTypedArray() >fun main() < var fruits = arrayOf("Apple", "Banana", "Orange", "Papaya") // Remove second element from array fruits = removeElement(fruits, 2) println(fruits.contentToString()) >
We have created an array called fruits that contain multiple items. We want to delete an item that has an index 2. To remove the item we have created a function named ‘removeElement‘. In this function, we are taking two parameters. First is the array from where you want to delete the item. The second is the index of the item that needs to be removed.
We are converting the array to a mutable list using the .toMutableList() function and using removeAt() function of the mutable list, we are removing the item.
Remove an item from Mutable List in Kotlin
If we have a mutable list then we can easily remove the item from it. The mutable list has a function removeAt() that takes the index as a parameter and removes that item from the Mutable List.
fun main() < val mList = mutableListOf(10, 20, 30, 40, 50, 60) mList.removeAt(3) println(mList) >
Массивы и Cписки в Kotlin — Полное Руководство
Коллекции представляют собой гибкие «контейнеры», которые позволяют хранить вместе любое количество значений. Двумя самыми популярными типами коллекций являются массивы и списки.
Массивы в Kotlin
Массив в Kotlin соответствует базовому типу массива в Java. Массивы являются типизированными, как обычные переменные и константы, и они могут хранить много значений.
Перед созданием первого массива давайте подробнее рассмотрим, что из себя представляет массив и зачем он используется.
Что такое массив?
Массив является упорядоченной коллекцией значений одного типа. У элементов в массиве нулевая индексация. Это означает, что индекс первого элемента равен 0, индекс второго элемента равен 1 и так далее. Зная это, вы можете определить, что индекс последнего элемента будет на 1 меньше общего числа значений в массиве.
В данном массиве пять элементов с индексами от 0 до 4.
Все его значения имеют тип String , поэтому в массив, содержащий только строки, нельзя добавить значения другого типы кроме строк . Обратите внимание, что одно и то же значение может встречаться несколько раз.
Когда лучше использовать массивы?
Массивы пригодятся при необходимости хранить элементы в определенном порядке. Элементы можно будет отсортировать или сделать их выборку по индексу без итерации по всему массиву.
К примеру, при хранении данных о спортивных рекордах, порядок очень важен. Наивысший балл должен быть первым в списке (его индекс 0), далее идет второй лучший балл и так далее.
Создание массивов в Kotlin
Самым простым способом создания нового массива является использование функции arrayOf() из стандартной библиотеки Kotlin. Таким образом можно быстро указать какие значения должен хранить массив.
Поскольку данный массив содержит только целые числа, Kotlin воспринимает evenNumbers как массив значений типа Int . Этот тип записывается как Array . Тип внутри угловых скобок определяет тип значений, которые может хранить массив. Именно тип компилятор будет использовать при добавлении элементов в массив.
Если вы попытаетесь добавить строку в массиве в котором только числа, то компилятор вернет ошибку, и код не скомпилируется. Такой синтаксис для типа массива является примером аргумента типа или дженерики, о котором вы узнаете подробнее в следующем уроке.
Также, возможно создать массив, у которого все значения будут значениями по умолчанию:
Подробнее о таком синтаксисе < 5 >мы поговорим в уроке о лямбдах.
Как и с любым другим типом, лучше объявлять массивы, которые не будут меняться, то есть как константы. Рассмотрим следующий массив:
Константа vowels является массивом из строк, значения которых изменить нельзя. Это правильно, потому что список гласных букв уже давно не менялся.
Массивы примитивных типов IntArray, FloatArray, DoubleArray
При использовании функции arrayOf() и создании массивов с типами вроде Array итоговый массив представляет собой список из объектов. В частности, если вы работаете в JVM, целочисленный тип будет упакован как класс Integer , а не как примитивный тип int . Использование примитивных типов по сравнению с их упакованными аналогами в виде классов потребляет меньше памяти и приводит к повышению производительности. К сожалению, вы не можете использовать примитивы со списками (которые рассматриваются в следующем разделе), поэтому решение, стоит ли это делать, нужно принимать для каждого отдельного случая.
Стандартная библиотека Kotlin содержит и другие функции, не только arrayOf() , которые позволяют создавать массивы, соответствующие массивам примитивных типов. К примеру, вы можете создать массив нечетных чисел следующим образом: