站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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:
根本不是一回事儿,谢谢你的关注!!!


↑返回目录
前一篇: 关于PDF文件打开的问题
后一篇: NullPointerException问题