java——存储字符串值——这是最有效的——链表、数组列表或hashmap



在java应用程序中,我有一个要求,用户将定义一个字符串值,然后继续将更多的字符串值附加到原始值。。。

用户可以定义多个不同的命名字符串。。

根据以下标准,我应该使用哈希图、数组列表和链表中的哪一个:

(1) 内存效率最高(2) 每个字符串值的最大可能空间

此外,在所有3个选项(哈希图/数组列表/链表)中,单个字符串值的最大可能大小是多少?

如果用户正在输入字符串,则不必担心。字符串的最大长度超过20亿。

有史以来最快的打字速度,每分钟216个单词,

http://en.wikipedia.org/wiki/Words_per_minute

这意味着即使是速度很快的打字员也需要一分钟才能写出1K的字母。写一个最大长度的字符串需要1491天,不间断。(假设他们的键盘、电脑或用户确实在尝试中死亡)

您不太可能需要最高效的数据结构,使用最简单、最明显的选择是更好的方法。(同样是因为用户无法以足够快的速度键入内容)

Kindle可以在一台价格不到100英镑的设备上存储数千本书。用户可以写下所有的实时内容,但写的内容不足以填满一个小而便宜的移动设备。

节省时间并使用StringBuilder或StringBuffer(如果需要线程安全)。

您将需要ArrayList<Stringbuffer>

如果您正在创建一个文本编辑器,用户可以跳到字符串中的任何位置并开始更改它,那么间隙缓冲区是一个相当好的数据结构:http://en.wikipedia.org/wiki/Gap_buffer

相关内容

  • 没有找到相关文章

最新更新