例如,这是内存中的一个当前实现
String companies [] = {“Alice Berned”,“Beyonce Cathy”,“Kelly Boldt”};
要求是在运行时动态扩展此目录。记录可能多达数千。数据结构应该有助于基本功能,如搜索,添加,删除。
我的解决方案:
我的第一个想法是使用ArrayList,易于获取和添加。
问题: 有什么好方法可以解决这个问题吗?
答案 0 :(得分:5)
数组创建后,在Java中具有固定的大小。创建数组后,无法动态添加元素。如果你想这样做并且你真的需要使用一个数组,那么你唯一能做的就是创建一个具有所需新大小的新数组,将旧数组的元素复制到它并添加新数据。那是麻烦的。
如果不要求您使用数组,请改为使用集合类:例如ArrayList
或LinkedList
。
答案 1 :(得分:1)
假设当你说“易于获取和添加”时,“添加”指的是仅添加到集合的 end ,那么ArrayList
确实是一个不错的选择
如果您想要添加到前面,那么ArrayDeque
会更好。如果你想能够添加到任意位置,那么这两者都不是一个很好的选择。