请教一个算法
根据班级及班级成员,获取同名成员在各班级的分布情况:
内容如下:
班级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