Arraylist vs Array与java中的自定义对象

时间:2012-11-22 21:30:41

标签: java arrays arraylist

我正在尝试将一段代码转换为使用自定义对象的ArrayList转换为常规数组。

以前我的定义是

ArrayList<Room> rooms = new ArrayList<Room>();

我现在改为

Room[] rooms;

以前我使用以下行将项添加到数组列表

rooms.add(new Room(1,1,30,false,true,true,false));

但我现在正在努力寻找在整个代码中简单地将单个项目添加到数组中的方法。

4 个答案:

答案 0 :(得分:2)

我认为你最好在这里坚持使用arrayList,但只是为了更多地了解它。

要执行您要执行的操作,您必须保留一个索引整数,该整数将仅指向数组中的当前位置,然后在添加时可以增加此值并将新对象添加到下一个poisition中。 当达到阵列的最大大小时,您需要扩展它。 你会发现有关于扩展数组的问题已经被问到了,你可以在这里找到答案: Expanding an Array?

答案 1 :(得分:1)

如果您可以使用固定大小的数组,那么您至少可以获得成功。如果没有,你就无法击败ArrayList,如果你的任务是在没有重新实现的情况下取得成功,那么这是一项不可能完成的任务。

你应该真正更深入地了解重写代码的确切理由,它会给我们一些机会来帮助你。

答案 2 :(得分:1)

我可以推荐:
使用Arraylist,您需要插入元素。一旦数组最终转换为数组。

答案 3 :(得分:0)

如果在添加其他元素时需要增加数组的大小,则必须构造另一个具有旧数组+1大小的数组。 然后,您将旧数组的内容复制到新数组(更大的数组)。