Come posso stampare il primo elemento nell'elenco usando Scala?Stampa il primo elemento nell'elenco usando Scala
Per esempio in Python posso solo scrivere:
>>>l = [1,2,3,4]
>>>one = l[0]
>>>print one
Come posso fare che su Scala
Grazie.
Come posso stampare il primo elemento nell'elenco usando Scala?Stampa il primo elemento nell'elenco usando Scala
Per esempio in Python posso solo scrivere:
>>>l = [1,2,3,4]
>>>one = l[0]
>>>print one
Come posso fare che su Scala
Grazie.
Come detto Hiura, o come questo:
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.
}
In sostanza, il codice Python è equivalente di: (. Eseguire nell'interprete scala)
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 è la documentazione su List di Scala.
È stato chiesto come domanda sussidiaria «come visualizzare ciascun elemento?».
Ecco un pattern matching ricorsiva implementazione utilizzando:
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
Come David Weber ha sottolineato nei commenti, se non è possibile utilizzare un algoritmo ricorsivo per visitare gli elementi del tuo elenco, allora si dovrebbe considerare l'utilizzo di un altro contenitore, perché l'accesso all'elemento i-esimo di un List
richiede O (N).
risposta può facilmente essere trovato in scaladoc for list
def head: A
Selects the first element of this list.
sì, ma come posso stampare secondo o il terzo elemento della lista? –
Bene, questa era un'altra domanda ;-) Puoi usare il metodo 'apply' (come nella risposta di Brano88), o recurse sulla coda della lista. – Hiura
Se è possibile attraversare la lista dalla testa alla coda, quindi recurse away. In caso contrario, si sta utilizzando la struttura di dati errata in quanto applicabile è O (N) per gli elenchi. Usa invece Vector o Array. –