动态扩展String数组

时间:2011-08-29 21:03:51

标签: java scalability implementation

例如,这是内存中的一个当前实现

String companies [] = {“Alice Berned”,“Beyonce Cathy”,“Kelly Boldt”};

要求是在运行时动态扩展此目录。记录可能多达数千。数据结构应该有助于基本功能,如搜索,添加,删除。

我的解决方案:

我的第一个想法是使用ArrayList,易于获取和添加。

问题:   有什么好方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:5)

数组创建后,在Java中具有固定的大小。创建数组后,无法动态添加元素。如果你想这样做并且你真的需要使用一个数组,那么你唯一能做的就是创建一个具有所需新大小的新数组,将旧数组的元素复制到它并添加新数据。那是麻烦的。

如果不要求您使用数组,请改为使用集合类:例如ArrayListLinkedList

请参阅:Tutorial: Collections

答案 1 :(得分:1)

假设当你说“易于获取和添加”时,“添加”指的是仅添加到集合的 end ,那么ArrayList确实是一个不错的选择

如果您想要添加到前面,那么ArrayDeque会更好。如果你想能够添加到任意位置,那么这两者都不是一个很好的选择。