例如,以下是内存中的一个当前实现
String companies[] = {"Alice Berned","Beyonce Cathy","Kelly Boldt"};
要求是在运行时动态扩展此目录。记录可能多达数千条。数据结构应便于搜索、添加、删除等基本功能。
我的解决方案是:
我的第一个想法是使用ArrayList,易于获取和添加。
问:有没有解决这个问题的好方法?
发布于 2011-08-30 05:11:22
数组一旦创建,在Java中就有固定的大小。创建数组后,无法动态添加元素。如果您想这样做并且确实需要使用数组,那么您唯一可以做的就是创建一个具有所需新大小的新数组,将旧数组的元素复制到其中并添加新数据。这当然很麻烦。
如果不要求使用数组,请改用集合类:例如ArrayList或LinkedList。
请参阅:Tutorial: Collections
发布于 2011-08-30 05:05:21
假设,当您说“易于获取和添加”时,“添加”指的是只添加到集合的末尾,那么ArrayList确实是一个很好的选择。
如果您还想在前面添加内容,那么ArrayDeque更好。如果您希望能够添加到任意位置,那么这两个都不是一个非常好的选择。
https://stackoverflow.com/questions/7235955
复制相似问题