当前位置:编程学习 > JAVA >>

请教一个算法


根据班级及班级成员,获取同名成员在各班级的分布情况:

内容如下:
班级1:zhangs,wangw
班级2:zhangs,lis
班级3:zhangs,lis,wangw

显示结果应该如下:
有相同姓名的班级      相同姓名个数为  相同姓名为
班级1、班级2、班级3    1       zhangs
班级2、班级3           2              zhangs,lis 
班级1、班级3           2              zhangs,wangw

是在JAVA代码里处理哦,不是在数据库里。
集思广益,求算法,谢谢。 java 算法 java 算法 --------------------编程问答-------------------- 手动敲的伪代码  望采纳


class Foo {
public String cls, name;
@Overried
public boolean equals(Object obj) {
return ((Foo) obj).name.equals(name);
}
}

List<Foo> foos;

foos.add("1班", "张三");
//TODO add more elements

Map<String, List<Foo>> map;

for(Foo foo : foos) {
if(map.contains(foo.name)) {
map.get(foo.name).add(foo);
} else {
List<Foo> newList;
newList.add(foo);
map.put(foo.name, foo);
}

Set<String> set = map.keySet();

for(String s : set) {
List<Foo> fs = map.get(s);
if(fs.size() > 1) {
System.out.println("相同的名字:" + s);
System.out.println("相同的班级:" + fs);
System.out.println("相同个数:" + fs.size());
}
}

}

--------------------编程问答-------------------- 写楼上,我去试试也寻求更好的解决之道
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,