Java:Datastructure用于存储大量单词

Dou*_*ams 6 java data-structures

我必须在Java程序中存储大量单词(+ 200k),我想快速访问它们.我只需要知道一个给定的单词是否属于我的"字典".我不需要一双像<word, smthg>.如果可能,我正在标准库中搜索解决方案.

PS:也许使用数据结构不是更好的方法吗?每次包含单词的文件读取效率会更高?

编辑:这是一个小项目.我必须处理有效性和记忆

最后编辑:我最终选择了HashSet.

Nik*_*wal 5

使用java集因为集合是像TreeSet这样的线性排序数据结构.因此,对于搜索,可以实现二进制搜索等技术,并且它们快速且无重复.

这是java Sets的结构.

在此输入图像描述

此外,它不会允许重复,因此减少冗余,并将节省您的内存.

如果您想了解各种搜索算法的复杂性,请参阅此链接.这是

http://bigocheatsheet.com/

  • 刚试过,它接近20MB,但仍然不多. (3认同)
  • 至于性能,填充一个200k字的hashset并运行100万字查询在我的台式机上总共需要150ms. (2认同)