我在写一个类似QQ群聊的东西,初步实现的是:只要该群有人进去,那么在客户端群列表的该群的头像显示彩色,如果该群一个人也没有,则显示灰色。我已经实现的功能是:一开始,所有群肯定没有人,当第一个用户点击群头像进入聊天界面时,所有的在线用户都得知:该群有人了(服务器端接收到第一个用户进入的事件,再返回给所有在线用户(包括第一个用户),该群头像显示为彩色)。我还实现了:用户登录以后,点击group按钮准备查看哪些群有人时,发送一个请求给服务器,服务器会把存在hashmap里的groupID(只要有人点击群,则服务器用hashmap把该群和该人存起来)返回给发送请求的人。我设置的hashmap:
public class ManageGroupList {
        public static HashMap hm = new HashMap<String, HashSet>();//key为群号,value为群里的人号
public static HashSet hs = new HashSet(); // 群里的人

public static void addGroupList(String groupid,HashSet hs)
{
hm.put(groupid,hs);

}
}
添加元素给hashmap:
         ManageGroupList.hs.add(ms.getSender()); //ms.getSender()为点击加入群的人
 ManageGroupList.addGroupList(ms.getContent(),ManageGroupList.hs);
但为什么接下来我用
         System.out.println("..."+ManageGroupList.hm);
 System.out.println("+++"+ManageGroupList.hs);
测试时,用户1点击了群0和群1
...{1=[1], 0=[1]}
+++[1]
用户2再点击群0时:
...{1=[2, 1], 0=[2, 1]}
+++[2, 1]
怎么群1里也有用户2啊?用户2根本没点群1啊!!!
ps.我快疯了