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

解决方案 »

  1.   

    手动敲的伪代码  望采纳
    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 elementsMap<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());
    }
    }}