Scalaを使用してリストの最初の要素を印刷するにはどうすればよいですか? Pythonで例えばScalaを使用してリストの最初の要素を印刷
私は書くことができます:
>>>l = [1,2,3,4]
>>>one = l[0]
>>>print one
を
私は
スカラ座に感謝することをどのように行うことができます。
Scalaを使用してリストの最初の要素を印刷するにはどうすればよいですか? Pythonで例えばScalaを使用してリストの最初の要素を印刷
私は書くことができます:
>>>l = [1,2,3,4]
>>>one = l[0]
>>>print one
を
私は
スカラ座に感謝することをどのように行うことができます。
Hiuraは言った、またはこれ好きなように:
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.
}
基本的には、あなたのPythonコードは同等である:(。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はScalaの一覧についてのドキュメントです。
「私はどのように各要素を表示するのですか?」という副題として質問されました。ここで
は、パターンマッチングを使用して再帰的な実装です:
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
デイヴィッド・ウェーバーはコメントで指摘したように、あなたのリストの要素を訪問する再帰アルゴリズムを使用することができない場合は、あなたがするので、別の容器を使用することを検討すべきですList
のi番目の要素へのアクセスにはO(N)が必要です。
回答は簡単そうscaladoc for list
def head: A
Selects the first element of this list.
で見つけることができますが、どのように私は、リスト内の第二または第三の要素を印刷することができますか? –
これは別の質問です;-) 'apply'メソッド(Brano88の答えのように)を使うことも、リストの末尾に再帰させることもできます。 – Hiura
リストを頭から尾までトラバースすることができれば、離れて再帰します。そうでない場合は、間違ったデータ構造を使用しています。これは、リストではO(N)です。代わりにVectorまたはArrayを使用してください。 –