List<Long> idList = new ArrayList<>();//用于保存团队用户ID
idList.add(user.getId());
for(User newUser : allUser){
for(Long invUser : idList){
if(invUser.equals(newUser.getInviter())){
idList.add(newUser.getId());//添加进团队
break;
}
}
}获取团队成员的时候,数据量大的时候,很慢,请问大神们,有什么好的办法优化
解决方案 »
- 求助:Exception sending context initialized event to listener instance of class com
- 小弟刚学ejb3.0遇到了麻烦请高手指教
- 欢迎讨论 目标:减少HIBERNATE工作量,不重复写DAO,目前只使用SPRING MVC+Hibernate
- 各位大虾,帮帮我,跪请!
- 关于struts标签中html:text的property属性取值的疑问
- 求解SSH查询数据问题
- 用DOM解析XML,如何删除一个TAG的属性?
- 问一个jms方面的问题!在线等候!!
- help me ! *.asp 文件有什么可以打开?
- 关与DOM新建XML文件。有没有人感兴趣?
- pagehelper 分页问题
- "HotspotXmlParser"这个类这那个包里呢?
利用这个方法取出二个集合中需要比较的字段,形成二个set
public static Set<String> putSet(List<Map<String, Object>> list, String field) {
Set<String> set = new HashSet<String>();
for (Map<String, Object> map : list) {
set.add(MapUtil.getStringValue(map, field));
}
return set;
} /**
*<p>@description: 求交集</p>
*/
public static Set<String> intersectionSet(Set<String> setA,Set<String> setB){
Set<String> setACopy = new HashSet<String>();
setACopy.addAll(setA);
setACopy.retainAll(setB);
return setACopy;
}
利用上述intersectionSet方法求出二个set之间的交集就可以得到团队成员的id了 这种方法只需要遍历数组一次,是不会有效率问题的