在Scala中创建List容器对象的最佳方法

时间:2013-03-19 18:53:24

标签: scala

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

我将通过会话ID访问会话 我很少会遍历这份名单 我将不断添加和删除列表

我的问题:

  1. 在这种情况下使用的Scala对象是什么?
  2. 从所述Scala对象添加或删除实体的最佳方法是什么?
  3. 我对Scala相当新,所以请原谅我可能要问的基本问题。非常感谢任何帮助。

    编辑:要添加全部...线程安全是一个因素。使用的对象必须是线程安全的,或者在按会话ID添加和删除项目时,必须容易允许线程安全。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

您可以使用immutable implementation of HashSet添加和删除操作有效地保持恒定时间。

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

答案 2 :(得分:1)

val list = new List(1,2,3,4,5,6,7,8,9,10)