List<Map<String,String>> forumList=dataBaseService.executeQuery(
"SELECT f.fid, f.type, f.name, f.fup, ff.viewperm, ff.formulaperm," +
" a.uid FROM sl_forums f LEFT JOIN sl_forumfields ff " +
"ON ff.fid=f.fid LEFT JOIN sl_access a ON a.fid=f.fid AND " +
"a.allowview='1' WHERE f.status>0 ORDER BY f.type, f.displayorder");
setForums(forumList); 此代码调用了下面的方法
public static void setForums(List<Map<String,String>> forumList)
{
if(forumList!=null)
{
//将forums 分类,分别保存到相对应的分组中
List<Map<String,String>> groups = new ArrayList<Map<String,String>>();
List<Map<String,String>> forums = new ArrayList<Map<String,String>>();
List<Map<String,String>> subs = new ArrayList<Map<String,String>>();
for(Map<String,String> forum:forumList)
{
String type=forum.get("type");
if("group".equals(type)){
groups.add(forum);
}else if("forum".equals(type)){
forums.add(forum);
}else if("sub".equals(type)){
subs.add(forum);
}
}
//清空forumList
forumList.clear();
//
for(Map<String,String> group:groups){
//将groups中数据循环加入forumList
forumList.add(group);
for(Map<String,String> forum:forums){
//forum fup == group fid
if(group.get("fid").equals(forum.get("fup"))){
forumList.add(forum);
for(Map<String,String> sub:subs){
//forum fup == group fid
if(forum.get("fid").equals(sub.get("fup"))){
forumList.add(sub);
}
}
}
}
}
}
} if(forumList!=null)
{.... 后面省略
他把List 对象 分成类别拆开了,之后有装在一起了 这是想做什么呢 ? 或者这么做有什么好处?
"SELECT f.fid, f.type, f.name, f.fup, ff.viewperm, ff.formulaperm," +
" a.uid FROM sl_forums f LEFT JOIN sl_forumfields ff " +
"ON ff.fid=f.fid LEFT JOIN sl_access a ON a.fid=f.fid AND " +
"a.allowview='1' WHERE f.status>0 ORDER BY f.type, f.displayorder");
setForums(forumList); 此代码调用了下面的方法
public static void setForums(List<Map<String,String>> forumList)
{
if(forumList!=null)
{
//将forums 分类,分别保存到相对应的分组中
List<Map<String,String>> groups = new ArrayList<Map<String,String>>();
List<Map<String,String>> forums = new ArrayList<Map<String,String>>();
List<Map<String,String>> subs = new ArrayList<Map<String,String>>();
for(Map<String,String> forum:forumList)
{
String type=forum.get("type");
if("group".equals(type)){
groups.add(forum);
}else if("forum".equals(type)){
forums.add(forum);
}else if("sub".equals(type)){
subs.add(forum);
}
}
//清空forumList
forumList.clear();
//
for(Map<String,String> group:groups){
//将groups中数据循环加入forumList
forumList.add(group);
for(Map<String,String> forum:forums){
//forum fup == group fid
if(group.get("fid").equals(forum.get("fup"))){
forumList.add(forum);
for(Map<String,String> sub:subs){
//forum fup == group fid
if(forum.get("fid").equals(sub.get("fup"))){
forumList.add(sub);
}
}
}
}
}
}
} if(forumList!=null)
{.... 后面省略
他把List 对象 分成类别拆开了,之后有装在一起了 这是想做什么呢 ? 或者这么做有什么好处?
解决方案 »
- 用java实现两个文本文档内容比较
- 急急急...
- Unable to locate Spring for XML schema [http:/org.springfamework/schema/context]
- java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-base
- 问一下EJB3 的一个sql语句
- axis2 支持 spring
- 求助:jfreechar 能不做像股市大盘实时曲线??
- 求助web.xml中的初始化参数的作用
- 请问怎样定时启动servlet?
- EJB的问题,有一定难度(对我来说)。
- 求解语法的含义
- struts2和myeclipse问题
forum
sub
sub
forum
sub
list中数据是同级的呀
,排序前或许比较乱,排序完就这个样子
group
group
group
forum
forum
forum
forum
sub
sub
sub
可是当遍历的时候仍然会遍历到每一个对象, 跟没排序有什么不同??