请教一个算法

虾米 2013-10-31 05:31:43

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

内容如下:
班级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代码里处理哦,不是在数据库里。
集思广益,求算法,谢谢。
...全文
157 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
虾米 2013-10-31
  • 打赏
  • 举报
回复
写楼上,我去试试也寻求更好的解决之道
sunbo624 2013-10-31
  • 打赏
  • 举报
回复
手动敲的伪代码 望采纳

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());
}
}

}

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧