香港eb病毒疫苗有哪些HPV疫苗,对于已感染HPV病毒的人有作

求java List集合依赖项分组排序
& & & &我有一组List数据,各项存在依赖,现我想分层次将集合的数据排序。
数据示例:
& & & &public static void main(String[] args) {
List&Map&String,String&& lst = new ArrayList&Map&String,String&&();
Map&String,String& map1 = new HashMap&String, String&();
map1.put(&item&, &1000&);
map1.put(&dependItem&, &&);
Map&String,String& map2 = new HashMap&String, String&();
map2.put(&item&, &1001&);
map2.put(&dependItem&, &&);
Map&String,String& map3 = new HashMap&String, String&();
map3.put(&item&, &1002&);
map3.put(&dependItem&, &1000&);
Map&String,String& map4 = new HashMap&String, String&();
map4.put(&item&, &1004&);
map4.put(&dependItem&, &1000&);
Map&String,String& map5 = new HashMap&String, String&();
map5.put(&item&, &1005&);
map5.put(&dependItem&, &1001&);
Map&String,String& map6 = new HashMap&String, String&();
map6.put(&item&, &1006&);
map6.put(&dependItem&, &1004&);
lst.add(map1);
lst.add(map2);
lst.add(map3);
lst.add(map4);
lst.add(map5);
lst.add(map6);
for (int i = 0; i & lst.size(); i++) {
Map&String,String& map = lst.get(i);
System.out.println(map.get(&item&)+&,依赖项:&+map.get(&dependItem&));
运行结果是:
1000,依赖项:
1001,依赖项:
1002,依赖项:1000
1004,依赖项:1000
1005,依赖项:1001
1006,依赖项:1004
我想得到的结果是:
1000,依赖项:
1001,依赖项:
------------------
1002,依赖项:1000
1004,依赖项:1000
1005,依赖项:1001
-------------------------
1006,依赖项:1004
共3层,最终是一个List&Vector& 集合大小3.
哪位高手能给实现下..感谢
我想它能帮上你,看你的模型应该是将平级的对象转换成树型对象。我这个项目中有树是以pid来维护的,但后台是用extjs写的,有时为了extjs的树的展现,需要将list转换成树的数据结构。下面这个类就是做这个处理的。它将任意一个带上下级关系的List&Map&集合转换成最后的树型结果。
package com.lenxeon.extjs.core.
import mons.collections.MapU
import mons.lang.StringU
import java.util.*;
public class Convert {
public static Collection&Map& List2Tree(Collection&Map& list, String pidKey, String childrensKey) {
return conver(list, pidKey, childrensKey);
private static Collection&Map& conver(Collection&Map& list, String pidKey, String childrensKey) {
Collection&Map& root = new ArrayList&Map&();
for (Map menu : list) {
if (MapUtils.getIntValue(menu, pidKey, -1) == 0) {
root.add(menu);
list.removeAll(root);
mapping(list, root, pidKey, childrensKey);
private static void mapping(Collection&Map& source, Collection&Map& list, String pidKey, String childrensKey) {
for (Map menu : list) {
Set&Map& root = new LinkedHashSet&Map&();
for (Map s : source) {
if (MapUtils.getIntValue(s, pidKey, -1) == MapUtils.getIntValue(menu, &id&, -2)) {
root.add(s);
menu.put(childrensKey, root);
if (root.size() & 0) {
menu.put(&leaf&, false);
menu.put(&leaf&, true);
source.removeAll(root);
mapping(source, (Collection) MapUtils.getObject(menu, childrensKey), pidKey, childrensKey);
public static List&Map& copyKey(List&Map& list, String[] form, String[] to) {
if (list == null) {
list = new ArrayList&Map&();
if (form == null || to == null || form.length != to.length) {
for (Map m : list) {
for (int i = 0; i & form. i++) {
String f = form[i];
String t = to[i];
if (StringUtils.isNotBlank(f) && StringUtils.isNotBlank(t)) {
m.put(t, MapUtils.getObject(m, f));
需求是这样。主要是要层次分开
一看就是树结构,为什么用List存储?
这次层次不明呀.
dependItem判断呗,如果为null就为第一层,然后把这些数据装入一个list,然后在用list循环判断,当中的值如果与其
dependItem相同在装入一个list,依次类推。。。。问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
像按以下格式展现内容
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
不知道你的POJO对象叫啥,我自己取了一个名叫Project
@NoArgsConstructor
public class Project {
private String regC
private String projectN
private String projectA
private String companyN
// 设置分组的key,这里就是把你想要分组的key拼起来
public String groupKey(){
return this.projectName + "_" + this.projectAddress + "_" + panyN
然后用Collectors.groupingBy方法就可以分组了,如下:
List&Project& projects = new ArrayList&&();
// 这里的key就是,宁江大院_成都市都江堰市蒲阳镇花溪村_成都文森电梯设备股份有限公司
Map&String, List&Project&& group = projects.stream().collect(Collectors.groupingBy(Project::groupKey));
这里得到一个map,key就是刚拼起来的分组依据,value就是一个list,就是该分组下的集合
你这个展示是页面上的吧...map已经分好组了,你可以按照你页面的规则循环map就可以了噻...我这里只能根据我自己的创建的POJO对象来处理了
若是没有办法使用Java8,那就自己做一个类似的map的分类吧,类似下面的代码
List&Project& projects = new ArrayList&&();
Map&String, List&Project&& map = new HashMap&&();
for (Project project: projects){
String key = project.groupKey();
// 按照key取出子集合
List&Project& subProjects = map.get(key);
// 若子集合不存在,则重新创建一个新集合,并把当前Project加入,然后put到map中
if (subProjects == null){
subProjects = new ArrayList&&();
subProjects.add(project);
map.put(key, subProjects);
// 若子集合存在,则直接把当前Project加入即可
subProjects.add(project);
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 App

我要回帖

更多关于 香港eb病毒疫苗 的文章

 

随机推荐