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