java中的list嵌套怎么弄的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的list嵌套怎么弄的?相关的知识,希望对你有一定的参考价值。

在数据库中查询到了一个list,这个list是七天的数据,其中有可能是每一天有多条数据,怎么把相同一天的数据放进一个list列表中,分成七个list,然后再把这七个包装进一个大的list。希望有代码,可以看懂。(用的mybatis+springmvc)

这里并没有将list嵌套,你可以把list打印出来,数据和你查询的一样,因为你并没有进行分组追问

这段代码你看一下,就是把查询到的数据根据日期分类进入各自的list,但是怎么把它们放进一个统一的list中然后用list.get(0)可以去到当前时间的list集合(这个集合不止一条数据)

参考技术A Map<String,List<Meet>> map = new HashMap<String,List<Meet>>();
for(Meet meet:mtList)
String key = meet.getDate();
if(map.get(key)==null)
List lst = new ArrayList<Meet>();
lst.add(meet);
map.put(key, lst);
else
map.get(key).add(meet);


最后的结果是每一天对应一个list追问

if(map.get(key)==null)
List lst = new ArrayList();
lst.add(meet);
map.put(key, lst);

这一段代码是什么意思?如果为空就放进空列表?还有就是我想要的是当前天和后六天的每天对应的数据,怎么通过时间去拿到我想要的数据呢?

追答

就是每个日期对应一个 List,为空的时候创建一个List放meet放进去,不为空的时候直接向之前的List放入meet。最后结果就是每个key值对应每一天日期,value就是对应日期meet的集合

python 解嵌套的list

有一个列表lst_all(几百万项),里面的每项也是一个列表lst_one,里面的列表lst_one格式为['A',黄],['A',绿],['A',白],['B',黄],['C',紫],['C',蓝],即lst_all的形式为:[['A',黄],['A',绿],['A',白],['B',黄],['C',紫],['C',蓝]......]
当里面的lst_one第一项字母相等时,就把第二项颜色拼接在一起。即最终实现[['A','黄绿白'],['B','黄'],['C','紫蓝']...]
求大神简单的方法

import itertools

lst_all = [['A','Blue'],['A','Green'],['A','Yellow'],['B','Red'],['C','Red'],['C','White']]

collector = []
for k, lstgroup in itertools.groupby(sorted(lst_all), lambda x: x[0]):
    collector.append([k, ','.join([c[1] for c in lstgroup])])

print collector

参考技术A # coding: utf-8
lst_all = ['A','黄'],['A','绿'],['A','白'],['B','黄'],['C','紫'],['C','蓝']
d = 
for sublist in lst_all: d[sublist[0]] = d.get(sublist[0],'') + sublist[1]
print sorted(d.items())

用字典的方式更简洁性能会高非常多.

以上是关于java中的list嵌套怎么弄的?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA如何获取嵌套在静态LIST类中的静态LIST类

@Valid如何校验Map中嵌套的List

python 嵌套list读取

在一个嵌套的list中,怎样获取里面元素

JavaScript 如何查找嵌套中的element对象

python 解嵌套的list