当前页面: 开发资料首页 → J2SE 专题 → 如何根据对象的属性进行分组
如何根据对象的属性进行分组
摘要: 如何根据对象的属性进行分组
如:
类A有个属性s,需要根据s的值把A的对象进行分组。
A a1 = new A();
a1.setS("1");
A a2 = new A();
a2.setS("2");
A a3 = new A();
a3.setS("1");
A a4 = new A();
a4.setS("2");
A a5 = new A();
a5.setS("3");
如何分组成{a1,a3}{a2,a4}{a5},即我最终想要的结果。说说思路~谢谢!
用一个Vector当做所有集合的容器,里面放的是各种属性值相同的集合
然后向里面添加,如果已经存在,就把它添入它属于的集合,如果不存在就生成一个Vector,添加进去就行了。
写写代码。
class YourClass {
public String name;
public YourClass(String name) {
this.name = name;
}
}
class MyContainer {
static Vector c = new Vector();
static void putIntoContainer(YourClass yc) {
Vector v = null;
boolean matched = false;
for (int i = 0; i < c.size(); i++) {
v = (Vector) c.elementAt(i);
if (((YourClass) (v.elementAt(0))).name.equals(yc.name)) {
v.addElement(yc);
matched = true;
}
}
if (!matched) {
Vector temp = new Vector();
temp.addElement(yc);
c.addElement(temp);
}
}
}
JF~~~~~
类似对象排序:
http://blog.csdn.net/lcllcl987/archive/2005/06/27/405112.aspx
to lcllc1987:
根本不是一回事儿,谢谢你的关注!!!