Das ist mein Code

    fun main(args : Array<String>){
     var someList : Array<String> = arrayOf("United","Chelsea","Liverpool")

      //How do i print the elements using the print method in a single line?
    }

In Java würde ich so etwas machen

someList.forEach(java.lang.System.out::print);

30
Dishonered 18 Apr. 2018 im 15:25

6 Antworten

Beste Antwort

Array hat eine forEach Methode, die auch eine annehmen kann Lambda:

var someList : Array<String> = arrayOf("United","Chelsea","Liverpool")
someList.forEach { System.out.print(it) }

Oder eine Methodenreferenz:

var someList : Array<String> = arrayOf("United","Chelsea","Liverpool")
someList.forEach(System.out::print)
22
Michael 18 Apr. 2018 im 12:33

Idiomatisch:

fun main(args: Array<String>) {
  val someList = arrayOf("United", "Chelsea", "Liverpool")
  println(someList.joinToString(" "))
}

Dies nutzt Typinferenz, einen unveränderlichen Wert und genau definierte Methoden zur Ausführung genau definierter Aufgaben.

Mit der Methode jointoString() können auch Präfix und Suffix, ein Grenzwert und ein Kürzungsindikator eingefügt werden.

7
delitescere 20 Okt. 2018 im 04:07

Ich kenne drei Möglichkeiten, dies zu tun:

(0 until someList.size).forEach { print(someList[it]) }
someList.forEach { print(it) }
someList.forEach(::print)

Hoffe es hat euch gefallen :)

5
twupack 18 Apr. 2018 im 12:36

Sie können das Gleiche tun:

fun main(args : Array<String>){
    var someList : Array<String> = arrayOf("United","Chelsea","Liverpool")
    someList.forEach(System.out::print)
}
2
statut 18 Apr. 2018 im 12:31

Du könntest

fun main(args : Array<String>){
  var someList : Array<String> = arrayOf("United","Chelsea","Liverpool")

  val sb = StringBuilder()
  for (element in someList) {
      sb.append(element).append(", ")
  }
  val c = sb.toString().substring(0, sb.length-2)
  println(c)
}

Gibt

United, Chelsea, Liverpool

Alternativ können Sie verwenden

print(element)

In der for-Schleife oder noch einfacher zu bedienen:

var d = someList.joinToString()
println(d)
1
JPO 18 Apr. 2018 im 12:44

Sie können dies mit der Methode "contentToString" erreichen:

var someList : Array<String> = arrayOf("United","Chelsea","Liverpool")
  println(someList.contentToString())

O/p:
[United, Chelsea, Liverpool]e
1
Arkady 21 Apr. 2020 im 15:39