,,java 三种将list转换为map的方法详解

,,java 三种将list转换为map的方法详解

这篇文章主要介绍了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: