java-存储字符串值 - 这是最有效的链表,数组列表或哈希映射

Arv*_*ind -2 java linked-list arraylist hashmap

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

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

从hashmap,数组列表和链表中,我应该根据以下标准使用哪一个:

(1)大多数内存有效(2)每个字符串值最大可能空间

此外,所有3个选项(hashmap/array list/linked list)中单个字符串值的最大可能大小是多少?

Pet*_*rey 5

如果用户输入字符串,您不必担心.最大字符串长度超过20亿.

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

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

这意味着即使是快速打字员也需要一分钟才能写出1 K的字母.写一个最大长度的字符串将需要1491天,不停.(假设他们的键盘,计算机或用户在尝试中死亡)

您不太可能需要最有效的数据结构,并且使用最简单和最明显的选择是更好的方法.(再次因为用户输入的速度不够快,因为它无关紧要)

Kindle可以在成本低于100磅的设备中存储数千本书.用户可以写下他们的所有直播而不是写得足以填满一个小巧便宜的移动设备.