Wie kann ich das erste Element in der Liste mit Scala drucken?Erstes Element in Liste mit Scala drucken
Zum Beispiel in Python kann ich nur schreiben:
>>>l = [1,2,3,4]
>>>one = l[0]
>>>print one
Wie kann ich tun, dass auf Scala
Dank.
Wie kann ich das erste Element in der Liste mit Scala drucken?Erstes Element in Liste mit Scala drucken
Zum Beispiel in Python kann ich nur schreiben:
>>>l = [1,2,3,4]
>>>one = l[0]
>>>print one
Wie kann ich tun, dass auf Scala
Dank.
Wie gesagt Hiura, oder wie folgt aus:
object ListDemo extends App {
val lst = List(1, 2, 3)
println(lst(0)) // Prints specific value. In this case 1.
// Number at 0 position.
println(lst(1)) // Prints 2.
println(lst(2)) // Prints 3.
}
Grundsätzlich Ihr Python-Code entspricht aus: (. Run in der scala-Interpreter)
scala> val l = 1 :: 2 :: 3 :: 4 :: Nil
l: List[Int] = List(1, 2, 3, 4)
scala> val one = l.head
one: Int = 1
scala> println(one)
1
Here ist die Dokumentation über Scala Liste.
Es wurde als eine Hilfsfrage gefragt «Wie zeige ich jedes Element an?».
Hier ist eine rekursive Implementierung unter Verwendung von Musterabgleich:
scala> def recPrint(xs: List[Int]) {
| xs match {
| case Nil => // nothing else to do
| case head :: tail =>
| println(head)
| recPrint(tail)
| }}
recPrint: (xs: List[Int])Unit
scala> recPrint(l)
1
2
3
4
Als David Weber in den Kommentaren darauf hingewiesen, wenn Sie nicht einen rekursiven Algorithmus verwenden können die Liste der Elemente, dann sollten Sie einen anderen Container betrachten besuchen verwenden, weil Zugriff auf das i-te Element eines List
dauert O (N).
Antwort leicht ja in scaladoc for list
def head: A
Selects the first element of this list.
aber wie kann ich drucken zweites oder drittes Element in der Liste zu finden sind? –
Nun, das war eine andere Frage ;-) Sie können entweder die 'apply'-Methode verwenden (wie in Brano88s Antwort), oder am Ende der Liste rekursiv arbeiten. – Hiura
Wenn Sie die Liste von Kopf bis Fuß durchqueren können, dann fahren Sie fort. Wenn nicht, verwenden Sie die falsche Datenstruktur, da für Listen O (N) gilt. Verwenden Sie stattdessen Vector oder Array. –