ArrayList <String> () против arrayListOf <String> ()

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

ArrayList<String>()

А также

arrayListOf<String>()

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

Всего 4 ответа


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

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


arrayListOf<T>()

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

public inline fun <T> arrayListOf(): ArrayList<T> = ArrayList()

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

здесь, в функции, используемой 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

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

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

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


Есть идеи?

10000