1

これがシナリオです。Scalaで簡単なセッションハンドラーを作成していますが、リストを保存できるクラスが必要です。クラスが正しく機能するには、クラスに関連付けられた他の関数が必要です。

セッションIDでセッションにアクセスします。リストをたどることはめったにありません。常にリストに追加したり、リストから削除したりします。

私の質問:

  1. この状況で使用する適切なScalaオブジェクトは何ですか?
  2. 上記のScalaオブジェクトにエンティティを追加または削除するための最良の方法は何ですか?

私はScalaにかなり慣れていないので、私が尋ねているかもしれない基本的な質問を許してください。どんな援助でも大歓迎です。

編集:それにすべてを追加するには...スレッドの安全性が要因です。使用するオブジェクトは、スレッドセーフであるか、セッションIDでアイテムを追加および削除するときにスレッドセーフを考慮しやすいものである必要があります。

4

3 に答える 3

2

使用できますjava.util.concurrent.ConcurrentHashMap-スレッドセーフが保証された最高のパフォーマンスを発揮します。

于 2013-03-19T19:33:50.690 に答える
1

追加と削除の操作に実質的に一定の時間がかかるHashSetの不変の実装を使用できます。

このコレクションが不変になると、コレクションを操作する「スカラ方式」、状態の処理方法などを学ぶ必要があります。コレクションの操作方法を変更する必要があるかもしれませんが、この方法では並行性について心配する必要はありません。

于 2013-03-19T20:01:57.893 に答える
1
val list = new List(1,2,3,4,5,6,7,8,9,10)
于 2013-03-28T06:51:59.110 に答える