2010-10-25 57 views
-3

我是新来的Java编程,需要创建一个名为sizeofCarPark方法,它返回存储在一个停车场的汽车的量的大小。我很欣赏我需要做的一些指示。创建一个Java方法,将返回一个ArrayList

+1

为了回答您的问题,我们需要更多关于您班级的信息。 – jjnguy 2010-10-25 17:43:17

+1

这个问题听起来像应该得到一个家庭作业标签。 – Yrlec 2010-10-25 17:45:48

+0

@jjnguy - 超过“返回数组列表的大小”?还有什么可以说,建立在此基础上。除非他必须在不使用尺寸方法的情况下才能做到这一点,否则就没有别的了。 – AaronM 2010-10-25 17:46:02

回答

3

什么样的物体是停车场?

ArrayList已经有一个size()方法。

例子:

public class CarPark { 
    private List<Car> cars = new ArrayList<Car>(); 

    public int sizeOfCarPark() { 
     return cars.size(); 
    } 
} 
+0

如果你关心设计,'cars'应该可能是'Set'而不是'List',除非你特别需要维护排序。但'Set'也有'size()'方法。 – 2010-10-25 17:52:33

+0

这样做,非常感谢罗布。 Pieter – Pieter 2010-10-25 17:54:43

+0

@Pieter - 没问题。未来的建议:您的问题有点含糊,因此请尝试在您可能会问到的问题中添加一些细节。添加代码片段有很长的路要走。 – 2010-10-25 17:58:02

0

只是做yourList.size()

0

ArrayList (Java 2 Platform SE v1.4.2) .. 的Javadoc始终是最好的地方开始。已经有了一个size()方法来完成它,所以你的方法需要做的就是调用它并返回它的值。

+1

可能不会伤害链接到比1.4.2更新的API版本。 Java 1.4的结束于2008年。 – 2010-10-25 17:45:45

+0

呵呵,你说得对,这真的很奇怪,我不认为Oracle会保留那些旧的文档。说实话,我只是使用了Google为Arraylist提出的那个,从来没有想过,6不会成为顶端。 最新的正确版本之一是 - http://download.oracle.com/javase/6/docs/api/index.html 据我所知,ArrayList没有改变,所以它应该是相同的,但比另一个更好地使用该API。 – AaronM 2010-10-25 17:50:41

+0

是的,它可能没有改变。但是,深入研究文档的用户可能会遇到某些已过时或已在新版本中发布的内容。我总是用Google的东西像“java arraylist 6”来获得Java 6版本的第一个结果。此外,文档可能仍然存在,因为Oracle提供超出常规EOL的业务支持。 http://www.oracle.com/technetwork/java/eol-135779.html – 2010-10-25 17:56:22

2

如果你的 “停车场” 是,一个收集车的只有:

int totalCars = myCarPark.size(); 

如果你的 “停车场” 有-A收集车只(首选方案!):

int totalCars = myCarPark.getCars().size(); 

如果您的“CarPark”是-a混合集合,那么您必须迭代并计算:

int count = 0; 
for (Object obj:myCarPark) 
    if (obj instanceof Car) count++; 

希望它能帮助!

0

我想你是为了创建而不是使用集合类用于这一目的的一个自定义容器类。

这里有一点提示。假设你有一个NumberBox类,它存储了一个错误列表,错误代码为int s。为了保持元素的数量,除了包含元素的数组外,还需要某种计数器。我们称之为size。最初,尺寸被设置为0 然后,你必须addremove元件的方法,以及它返回当前size的方法。 一个实现看起来像这样(不是一个完整的程序,缺少像检查参数等东西)。

public class NumberBox { 
    private int[] list; 
    private size = 0; 

    public class NumberBox(int capacity) { 
     list = new int[capacity]; 
    } 

    public void add(int i) { 
     // put the int at the first unoccupied position 
     // increase the counter 
    } 

    public int remove() { 
     // remove the last int which was inserted 
     // decrement the counter 
     // return it 
    } 

    public size() { 
     return size; // return the current size 
    } 
} 

现在你需要做的是想想如何将这个应用到你的课堂。

+0

只是好奇,为什么当API已经提供了一个'List'接口来完成这些工作呢?如果你需要一个自定义的包装器,它至少可以由一个'List'来支持。 – 2010-10-25 18:28:21