1. ホーム
  2. scala

[解決済み] Scalaです。ScalaのコレクションにおけるTraversableとIterableの違いは何ですか?

2022-12-24 11:37:43

質問

私は この質問 を見ましたが、IterableとTraversable traitの違いをまだ理解していません。誰かが説明することができますか?

どのように解決するのですか?

簡単に言うと、イテレータは状態を保持し、トラバーサブルは状態を保持しない。

A Traversable は一つの抽象メソッドを持ちます。 foreach . を呼び出すと foreach , コレクション は、それが保持するすべての要素を、次々に渡された関数に与えます。

一方 Iterable は抽象メソッドとして iterator を返し、その Iterator . を呼び出すことができます。 next の上で Iterator で次の要素を取得することができます。そうするまでは、コレクション内のどこにいたのか、そして次に何があるのかを追跡しておかなければなりません。