我正在尝试将一段代码从使用自定义对象的ArrayList转换为常规数组。
之前我的定义是
ArrayList<Room> rooms = new ArrayList<Room>();现在我已经改成了
Room[] rooms;以前,我使用以下行将项添加到数组列表中
rooms.add(new Room(1,1,30,false,true,true,false));但我现在正在努力寻找在整个代码中简单地将单个项添加到数组中的方法。
发布于 2012-11-23 05:49:59
我认为你最好在这里使用arrayList,但只是为了让你对它有更多的了解。
要做你想做的事情,你必须保留一个索引整数,它只指向数组中的当前位置,然后当你添加时,你可以递增它,并将新对象添加到下一个位置。当您达到数组的最大大小时,您将需要扩展它。你会发现已经有人问过关于扩展数组的问题了,你可以在这里找到答案:Expanding an Array?
发布于 2012-11-23 05:37:01
如果你能接受一个固定大小的数组,这至少会给你一点成功的机会。如果不能,你就无法击败ArrayList,如果你的任务是成功而不重新实现它,那么这是一个不可能完成的任务。
你真的应该更深入地了解像这样重写代码的确切理由,这将给我们一些机会来适当地帮助你。
发布于 2012-11-23 05:48:30
我可以推荐:
只要需要插入元素,就使用Arraylist。一旦数组为最终数组,就转换为数组。
https://stackoverflow.com/questions/13520231
复制相似问题