日期:2014-05-20  浏览次数:20708 次

如何统计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);
}
}
------解决方案--------------------
类定义都写错啊