一个数组怎么分类呢 ........????

ajq1989 2012-04-23 11:14:51
BookItem类.
有BookID,BookName,CharptName..等字段

有List<BookItem> 集合.
备注:BookID可以重复

问题:
如何根据BookID归类分组动态创建数组呢.

比如:
有List<BookItem>数据
BookID,BookName,CharptName
BK001 ,火影, 第一集
BK001 ,火影, 第二集
BK001 ,火影, 第三集
BK002 ,海贼, 第一集
BK003 ,死神, 第一集
加入有这样数据就要动态创建三个List来分别放火影(三集),海贼,死神.

我如何知道内容数据有创建多少个数组呢. 代码怎么实现呢
...全文
125 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdojqy1122 2012-04-23
  • 打赏
  • 举报
回复
Map<String,List<BookItem>> map = new HashMap<String,List<BookItem>>;
List<BookItem> list = new ArrayList<BookItem>();
for(BookItem bi:list){
if(map.containsKey(bi.getBookId)){
map.get(bi.getBookId).add(bi);
}
else{
List<BookItem> list1 = new ArrayList<BookItem>();
list1.add(bi);
map.put(bi.getBookId,list1);
}
}
直接用map吧。
安特矮油 2012-04-23
  • 打赏
  • 举报
回复
先通过BookID来排序,然后遍历这些数据,记录下当前的id与上一个id相比,如果不同,那么就新建一个,并且把这个id设置为上一个id存起来用于以后的比较,如果相同,那么就直接放入新建的list当中。
ajq1989 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

你把创建的List,再放入到一个list中 ,然后通过List.size(),不久可以了 ?

list1、list2、list3....

List listAll = new ArrayList() ;
listAll.add(list1) ;
listAll.add(list2) ;
listAll.add(list3) ;
.
.
.

for (int i = ……
[/Quote]

listAll是已经有的没归类的数据,现在要按这个listALL的数据去归类动态的创建多少个list1 ,list2等等
五哥 2012-04-23
  • 打赏
  • 举报
回复
你把创建的List,再放入到一个list中 ,然后通过List.size(),不久可以了 ?

list1、list2、list3....

List listAll = new ArrayList() ;
listAll.add(list1) ;
listAll.add(list2) ;
listAll.add(list3) ;
.
.
.

for (int i = 0; i < listAll.size(); i++){
List<BookItem> tmp = (List<BookItem>) listAll.get(i) ;
...
}

不知道我的理解对不对哦
fangkaifang 2012-04-23
  • 打赏
  • 举报
回复
遍历。。。。
wfeng007 2012-04-23
  • 打赏
  • 举报
回复
遍历+ List<List<BookItem>>或Map<List<BookItem>>
cxw3152 2012-04-23
  • 打赏
  • 举报
回复
你把创建的List,再放入到一个list中 ,然后通过List.size(),不久可以了 ?

list1、list2、list3....

List listAll = new ArrayList() ;
listAll.add(list1) ;
listAll.add(list2) ;
listAll.add(list3) ;
.
.
.

for (int i = 0; i < listAll.size(); i++){
List<BookItem> tmp = (List<BookItem>) listAll.get(i) ;
...
}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧