ArrayList <String>() против arrayListOf <String>() - PullRequest
1 голос
/ 16 мая 2019

Я изучал основы Kotlin и нашел два синтаксиса.

ArrayList<String>()

И

arrayListOf<String>()

В чем разница между этими двумя, поскольку оба являются частью Kotlin.Collections?

Ответы [ 4 ]

2 голосов
/ 16 мая 2019

arrayListOf<T>() в основном для вашего удобства. vararg -функции обычно оказывают (иногда незначительное) влияние на производительность, и переключение между arrayListOf(someElements...) и arrayListOf() без этого удобного метода в основном делегирует эту проблему вам как программисту. Вы должны это знать, и вам придется изменить этот код на ArrayList(), если такое влияние влияет на вас и если эта вспомогательная функция не существует.

arrayListOf() в основном только это. Возвращает ArrayList() и является встроенным. Это просто удобно, так что вам не нужно думать об этом, когда вы переключаетесь между arrayListOf(someElements) и arrayListOf().

Это сказало: нет никакой разницы между arrayListOf() и ArrayList(), как и другие уже упоминали, и arrayListOf(elements) является удобным вариантом для создания ArrayList с данными элементами.

2 голосов
/ 16 мая 2019

arrayListOf - это функция, имеющая необязательные аргументы переменной длины

В случае использования без аргументов, нет никакой разницы

1 голос
/ 16 мая 2019

если функция правильная, но используется вот так

здесь в функции используется set () функция arrayListOf () используется для установки заданного элемента в указанноминдексировать и заменить, если какой-либо элемент уже присутствует в этом индексе

fun main(args: Array<String>){

   val list: ArrayList<String> = arrayListOf<String>()

   list.add("Ajay")
   list.add("Vijay")
   list.add("Prakash")

  println(".......print list.......")
  for (i in list) {
      println(i)
  }
  println(".......arrayList.set(2,\"Rohan\").......")
  list.set(2,"Rohan")
  println(".......print ArrayList.......")
  for (i in list) {
      println(i)
  }
}

Выход

.......print list.......
Ajay
Vijay
Prakash
.......list.set(2,"Rohan").......
.......print list.......
Ajay
Vijay
Rohan
1 голос
/ 16 мая 2019
arrayListOf<T>()

- это просто функция расширения, которая выглядит следующим образом:

public inline fun <T> arrayListOf(): ArrayList<T> = ArrayList()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...