0

我正在尝试将对象添加到我的数组列表中,然后我可以使用它实现一些引用对象元素的方法。我有两个类 Balloons 和 MyPark (都实现了其他接口,但这无关紧要)。在气球类中有:

public class Balloons implements Balloon {

private int area;
private int position;

public void Balloon(int area, int position) {
    this.area = area;
    this.position = position;
}

@Override
public int getArea() {
    return area;
 }
}

在 MyPark 中,我创建了我的 Arraylist 气球:

import java.util.*;
public class MyPark implements Park {

public Balloons balloon = new Balloons;
public ArrayList <Balloon> a = new ArrayList <Balloon>();
public int index;

@Override
public void addBalloon (int barea){
   a.add(new Balloons (barea, index));
}
}

但显然这不是这样做的方法。有什么建议么?我也希望最终能够按区域对列表进行排序......

4

2 回答 2

3

public void Balloon(int area, int position)不是构造函数,它是一种方法 - 大概您希望它成为构造函数。

要使其成为构造函数,它应该与您的类具有相同的名称(Balloons, not Balloon)并且您应该删除void.

public Balloons(int area, int position)

要对列表进行排序,您基本上有两个选择:

于 2013-11-03T15:34:17.210 回答
2

您可以比较器对列表进行排序

Collections.sort(SortList, new Comparator<Balloon>(){
            public int compare(Balloon b1, Balloon b2) {
                return b1.area- b2.area;
            }
        });
于 2013-11-03T15:35:20.040 回答