Java如何将List转换为MAP
有时候我们需要将给定的 List 转换为 Map。
如果你使用的是 Java 8 以后版本的话,Stream 是你的好朋友。
Java 8 public Map convertListAfterJava8(List list) { Map map = list.stream() .collect(Collectors.toMap(Animal::getId, Function.identity())); return map; }
上面的代码可以非常容易的完成转换,我们有一个 Animal 对象的 List。
上面的代码将会把 Id 作为 Key,然后生成的 Map 是以 id 为 Key,Animal 为Value 的 Map。Guava
如果使用 Guava 就更加简单了。public Map convertListWithGuava(List list) { Map map = Maps .uniqueIndex(list, Animal::getId); return map; }
使用 Maps 的工具类就可以了,这个工具类可以直接用。更进一步
如果对需要生成的 Map 进行处理。
Key 是对象中的一个值,Value 是 List 对象中的另外一个值。
例如可以使用下面的代码:listingStatusList.stream().collect(Collectors.toMap(CListingStatus::getListingStatusKey, CListingStatus::getListingStatus));
其中 CListingStatus 对象是这样定义的。@Entity @Getter @Setter public class CListingStatus extends AbstractPersistable { @ManyToOne @JoinColumn(name = "rets_id", nullable = false) private ConfRets confRets; private String listingStatusKey; private ListingStatus listingStatus ; } 对 Map 中的对象设值
针对 Stream 中的对象,我们可能还需要重新设置为其他的对象。
这个时候我们就可以使用 lambda 函数了。
同样的代码: HashMap agentHashMap = (HashMap) mlsAgentList.stream().collect(Collectors.toMap(MlsAgent::getMlsAgentId, mlsAgent -> { Agent agent = new Agent(); agent.setAgentId(mlsAgent.getMlsAgentId()); agent.setAgentNameFirst(mlsAgent.getNameFirst()); agent.setAgentNameLast(mlsAgent.getNameLast()); agent.setAgentEmail(mlsAgent.getEmail()); return agent; }));
我们返回的 Map 使用了一个新的对象为 Value。
上面针对 Stream 转换为 Map 的方法进行了一些小总结,这些方法可能实际编程的时候使用的频率比较高。
同时能够避免大量使用 For 循环的情况。
Stream 还是需要好好了解下的。
再奏黄河谣共赏齐鲁景山东将打造黄河文化旅游长廊推进黄河文化旅游带高质量发展有了新动作。近日,山东省委省政府印发的山东省黄河流域生态保护和高质量发展规划(下称规划)提出,将打造黄河文化旅游长廊,优化文化旅游布局。山东如何讲好新时
上了年纪饮食注意以下六事,对身体有好处人上了年纪一定要注意日常生活,遵照食不厌精的原则,合理进补,增强免疫能力,真正达到健康长寿的目地。老年人在日常生活中注意以下几点,有助健康长寿。1少吃脂肪肉类和使身体肥胖的食物。2
身体缺镁后,会有什么样的变化?很多人在补充营养的时候大多都会想到补充钙维生素C等等但却很少有人会想起补充镁而镁,是人体非常重要的一种矿物质镁在大脑认知功能神经运作方面有着不可替代的作用,对于体内褪黑素的产生也有
建议中老年人春天多吃3种千金菜,补营养,身体健康少生病建议中老年人春天多吃3种营养值千金的菜,补营养,身体少生病一天之计在于晨,一年之计在于春,春季是一年健康养生的最好时节,春天身体养得好,这一年的健康都不会丢,特别对于中老年人群,岁
维生素B2和维生素C能一起吃吗维生素B2和维生素C是两种常见维生素,都属于水溶性维生素,可以一起服用。维生素B2进入人体后会与蛋白质结合,生成一种氧化还原反应的脱氢酶,该脱氢酶是维持组织呼吸的重要物质,缺乏这种
安神固本之要穴神门穴手少阴心经神门一取穴步骤第一步握拳微屈腕,从掌侧腕横纹尺侧向桡侧循按的第一根肌腱即为尺侧腕屈肌腱,其桡侧缘即为神门穴。第二步从神门沿尺侧腕屈肌桡侧,用拇指同身寸取1寸,即为通里穴。
女人长期喝蒲公英水,可以消除乳腺结节?不妨了解蒲公英的中药名是黄花地丁,蒲公英是药食同源的食物,主要生长在农村的田野里,其是一种菊科植物,有花头,种子上覆盖着由白色冠毛形成的绒毛球。蒲公英在农村里叫婆婆丁,具有清热解毒消炎的作
肚子疼忍一忍就过去了?当心!这几种腹痛格外危险平时肚子疼的时候,你会怎么做呢?可能是吃的不合适,喝点热水吧!应该是暂时的,忍一会就好了。吃点止疼药就行了。感觉不对劲,要不去医院看看吧。肚子疼在日常生活中时有发生,有时是左上疼,
指甲竟然与肝有关系?听听中医怎么说。分享几味中药,补益肝血在农村有一个检查自己身体健康与否的土方法,就是伸出双手,看一看自己手指头上边的月牙。有月牙了就证明身体健康,没月牙或者是月牙小了,就说明身体缺乏营养了。这么说也对也不对。我们中医上
春季养血不养阴,小心越养越虚!3个滋阴小妙招,助你养出好身体宋代的诗人王安石的诗作春日春风有时好,春日春风有时恶,不得春风花不开,花开又被风吹落。将春季的天气刻画地淋漓精致。春季的天气变化较大,温度起伏不定,所以人体的免疫系统也经常受到影响
初春尝鲜,吃花摘芽正当时阳春三月,万物复苏,大地生机盎然,各种植物冒芽抽枝,吐蕊开花,给人们带来无限的遐想,无限的美丽,也大大丰富了人们的餐桌。本期回家吃饭带您吃花摘芽,尝春鲜享美味!春天不仅藏在漫山遍野