我正在编写一个严格读取文本文件(.txt)的java应用程序。这些文件可以包含超过 120,000 个单词。
该应用程序需要存储所有 +120,000 个单词。它需要将它们命名为 word_1、word_2 等。它还需要访问这些词以对它们执行各种方法。
这些方法都与字符串有关。例如,将调用一个方法来说明 word_80 中有多少个字母。将调用另一种方法来说出 word_2200 中的特定字母。
此外,有些方法会比较两个单词。例如,将调用一个方法来比较 word_80 和 word_2200 并需要返回哪个有更多的字母。将调用另一种方法来比较 word_80 和 word_2200,并且需要返回两个词共享的特定字母。
我的问题是:由于我几乎只使用字符串,最好将这些单词存储在一个大的 ArrayList 中吗?几个小的 ArrayList?或者我应该使用许多其他存储可能性之一,如向量、哈希集、链接列表?
我的两个主要问题是 1.) 访问速度,以及 2.) 拥有尽可能多的预建方法供我使用。
提前谢谢你的帮助!!
哇!感谢大家对我的问题提供如此快速的答复。你所有的建议都对我帮助很大。我正在考虑并考虑您反馈中提供的所有选项。
请原谅我的任何模糊;让我解决你的问题:
问)英语?
A)文本文件实际上是用英文写的书。在第二语言中出现的单词是罕见的——但并非不可能。我将文本文件中非英语单词的百分比设置为 .0001%问)家庭作业?
A)我现在微笑着看着我的问题的措辞。是的,它确实类似于学校作业。但不,这不是家庭作业。问)重复?
一)是的。可能每五个左右的词,考虑连词,文章等。问)访问?
A)随机和顺序。一种方法当然有可能随机定位一个单词。一种方法同样可能希望在 word_1 和 word_120000 之间按顺序查找匹配的单词。这就引出了最后一个问题……</p>Q) 遍历整个列表?
一)是的。
另外,我计划发展这个程序来对单词执行许多其他方法。我再次为我的模糊性道歉。(细节确实使世界变得不同,不是吗?)
干杯!