这篇文章主要介绍了Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)三种将目录转换为地图的方法详解的相关资料,需要的朋友可以参考下
java 三种将list转换为map的方法详解
在本文中,介绍三种将目录转换为地图的方法:
1) 传统方法
假设有某个类如下
班级电影{
私有整数秩;
私有字符串描述;
公共电影(整数排名,字符串描述){
super();
等级=等级
this.description=描述;
}
公共整数getRank() {
返回排名;
}
公共字符串getDescription() {
退货说明;
}
@覆盖
公共字符串toString() {
返回对象。tostring助手(this)。添加('等级,等级)。添加('描述,描述)。toString();
}
}
使用传统的方法:
@测试
public void convert _ list _ to _ map _ with _ Java(){
list movie movies=new ArrayList movie();
电影.添加(新电影(1,《肖申克的救赎》);
电影.添加(新电影(2,'教父'));
MapInteger,Movie映射的movies=new hashmap integer,Movie();
对于(电影电影:电影){
mappedMovies.put(movie.getRank(),movie);
}
伐木工。info(映射电影);
断言真(映射电影。size()==2);
assertEquals(《肖申克的救赎》),mappedMovies.get(1)。获取描述());
}
2) JAVA 8直接用流的方法:
@测试
public void convert _ list _ to _ map _ with _ Java 8 _ lambda(){
list movie movies=new ArrayList movie();
电影.添加(新电影(1,《肖申克的救赎》);
电影.添加(新电影(2,'教父'));
MapInteger,电影映射电影=电影。流().收集(
收藏家。tomap(电影:get rank,(p)-p));
伐木工。info(映射电影);
断言真(映射电影。size()==2);
assertEquals(《肖申克的救赎》),mappedMovies.get(1)。获取描述());
}
3) 使用番石榴工具类库
@测试
public void convert _ list _ to _ map _ with _ guava(){
列出电影电影=列表。new ArrayList();
电影.添加(新电影(1,《肖申克的救赎》);
电影.添加(新电影(2,'教父'));
MapInteger,电影映射电影=地图。uniqueindex(电影、新函数电影,整数(){
公共整数应用(电影来源){
返回从。getrank();
}});
伐木工。info(映射电影);
断言真(映射电影。size()==2);
assertEquals(《肖申克的救赎》),mappedMovies.get(1)。获取描述());
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。