1

这是场景。我正在 Scala 中创建一个简单的会话处理程序,我需要一个可以存储列表的类。该类需要其他与​​之关联的功能才能正常运行。

我将通过会话 ID 访问会话 我很少会遍历列表 我将不断地从列表中添加和删除

我的问题:

  1. 在这种情况下使用什么合适的 Scala 对象?
  2. 从所述 Scala 对象中添加或删除实体的最佳方法是什么?

我对 Scala 还很陌生,所以请原谅我可能会问的基本问题。任何帮助将不胜感激。

编辑:添加到这一切......线程安全是一个因素。使用的对象必须是线程安全的,或者在通过 Session ID 添加和删除项目时必须易于允许线程安全。

4

3 回答 3

2

您可以使用java.util.concurrent.ConcurrentHashMap- 它具有最佳性能并保证线程安全。

于 2013-03-19T19:33:50.690 回答
1

您可以使用HashSet 的不可变实现,其中添加和删除操作需要有效的恒定时间。

一旦这个集合是不可变的,你就需要学习使用集合的“scala 方式”,如何处理状态等等。也许您需要更改处理集合的方式,但这样您就不必担心并发性。

于 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 回答