读书人

怎么统计list中对象的某个属性值.

发布时间: 2012-01-08 22:48:50 作者: rapoo

如何统计list中对象的某个属性值...
类A:
Public class A(){
private int value;

public int getValue(){
return value;
}

public void setValue(int value){
this.value = value;
}
}
对象若干:
A a = new A();
A b = new A();
..........

放到list中:
List list = new ArrayList();
list.add(a);
list.add(b);
...........

对于该list,如果list中对象的属性value= "2 ",先做....如果list中对象的属性value= "1 ",再做.....
现在能想到的是遍历该list,判断属性值,然后再分别放到不同的集合中,有没更简单的做法啊?
谢谢啊...

[解决办法]
Public class A(){
}

虽然不清楚你问什么 不过这么写类它会不高兴的
[解决办法]
在class A中内置计数器
[解决办法]
A实现Comparable接口,然后重写compareTo方法
最后对List排下序.
示例:

import java.util.*;

public class Test39 {

public static void main(String[] args) {
A a = new A();
a.setValue(2);
A b = new A();
b.setValue(2);
A c = new A();
c.setValue(1);
A d = new A();
d.setValue(1);
A e = new A();
e.setValue(2);
List <A> l = new ArrayList();
l.add(a);
l.add(b);
l.add(c);
l.add(d);
l.add(e);
System.out.println(l);
Collections.sort(l);
System.out.println(l);

}
}
class A implements Comparable {
private int value;

public int getValue() {
return value;
}

public void setValue(int value) {
this.value = value;
}
public int compareTo(Object o) {
return value - ((A)o).getValue();
}
public String toString() {
return String.valueOf(value);
}
}
[解决办法]
类定义都写错啊

读书人网 >J2SE开发

热点推荐