查出来了3个用户,他们的键相同,但是每个用户存入table中的键是不一样的。按理来说是不会被覆盖的。请问怎么回事?
       3个字段。(uid,ou,mail以这些作为键);public List<Hashtable<String,String>> findByCondition(String parentDN, String filter,Hashtable env){
try {
                dirContext = new InitialLdapContext(env,null);//初始化连接信息
       String[] listAtts = null;
       List<Hashtable<String,String>> list = new ArrayList<Hashtable<String,String>>();
       listAtts = new String[]{"uid","mail","ou"};//指出要查出的属性
       Hashtable<String,String> table = new Hashtable<String, String>(11);

      SearchControls control = new SearchControls(SearchControls.SUBTREE_SCOPE,0,0,null,true,true);
      NamingEnumeration ne = dirContext.search("dc=example,dc=com","ou=研发部", control);//包含了要查的(上下文名称,条件,SearchControls)

      while(ne.hasMore()){
SearchResult result = (SearchResult) ne.next();//得到节点。
String dn = result.getName();//得到上下文名称
// 拿到节点
Attributes attrs = dirContext.getAttributes(dn + ",dc=example,dc=com",listAtts);
String str = null;
String s = null;
        for (int i = 0; i < listAtts.length; i++) {
         String ss = listAtts[i];
Attribute attr = attrs.get(ss); 
int j = attr.toString().indexOf(":");
str = attr.toString().substring(0, j);
s = attr.toString().substring(j+1);

table.put(str,s);

}
                     list.add(table);
                }
return list;
} catch (Exception e) {
e.printStackTrace();
}
      return null;
}
谢谢各位大侠来解决。