機能スタイルが可変のvarまたはvalリストを好むことを理解し、その理由を理解していますが、純粋に時間と空間のトレードオフについて考えています。
私は現在Javaライブラリとインターフェースを取っているので、とにかく大量の非idomaticコードをscalaで記述しなければなりません。
機能スタイルが可変のvarまたはvalリストを好むことを理解し、その理由を理解していますが、純粋に時間と空間のトレードオフについて考えています。
私は現在Javaライブラリとインターフェースを取っているので、とにかく大量の非idomaticコードをscalaで記述しなければなりません。
不変の構造を使用するときにそれほど大きなペナルティがない理由を理解するのに役立つポインタがいくつかあるかもしれません。
私の意見では、不変リストの最大の用途は、オブジェクト間でそれらを共有しても副作用がないことです。これは、同時性または並列性を使い始める場合に重要です。
ちなみに、ScalaはBuilderを使用して既存のリストを変更し、以前のリストを「リサイクル」するので、これは予想されるほど高価ではありません。
編集
ベンチマークを取得するようになったので、使用したコードが表示されるため、これは非常に優れていることがわかりました。