Java 用于存储海量数据的最佳集合

Java 用于存储海量数据的最佳集合,java,collections,Java,Collections,我需要在集合中存储大量字符串。我不需要地图,因为我只有钥匙。数据大小可能达到400万或更大。目前我正在使用LinkedHashSet。linkedhashSet的性能很好,但占用了大量内存。我试过LinkedList,但花了太多时间 我的要求是我需要维护插入顺序。在抛出错误(如果存在)之前,请检查列表/集合中的每个项目是否可用 我也尝试过使用逗号分隔的字符串,但也没有多大的改进 有人能提出更好的解决方案吗。树集对维持秩序很有帮助。 另外,请确保使用适当的搜索算法来检查条目的集合,这可以大大提高性

我需要在集合中存储大量字符串。我不需要地图,因为我只有钥匙。数据大小可能达到400万或更大。目前我正在使用LinkedHashSet。linkedhashSet的性能很好,但占用了大量内存。我试过LinkedList,但花了太多时间

我的要求是我需要维护插入顺序。在抛出错误(如果存在)之前,请检查列表/集合中的每个项目是否可用

我也尝试过使用逗号分隔的字符串,但也没有多大的改进


有人能提出更好的解决方案吗。

树集对维持秩序很有帮助。
另外,请确保使用适当的搜索算法来检查条目的集合,这可以大大提高性能

您是否尝试实现TRIE?它维护按字母顺序排序的单词,占用的内存更少,因为您没有为每个字符串维护单独的对象。相反,您只在一个节点中存储一个字符。 看见
你试过TreeSet吗?我想保持TreeSet没有的插入顺序。我想保持TreeSet没有的插入顺序