【发布时间】:2019-08-23 07:03:10
【问题描述】:
我有两个列表 ColumnIndexMapping 列表,另一个是字符串列表
一个列表包含一个类的对象。结构如下图-
public class ColumnIndexMapping {
private int index;
private String columnname;
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public String getColumnname() {
return columnname;
}
public void setColumnname(String columnname) {
this.columnname = columnname;
}
}
现在我必须使用这两个列表来制作地图。我必须从第二个列表(字符串列表)中读取那些我们在第一个列表中具有索引属性的索引。如下 -
List<ColumnIndexMapping> colMapList = [
{
"index": 0,
"columnname": "accountname"
},
{
"index": 2,
"columnname": "source"
},{
"index": 4,
"columnname": "customField13"
} ]
List<String> secondList = {"Nitin","India","1234","fnf","qwerty"}
Output would be ->
HashMap<String,String> outputHashmap =
{
"accountname":"Nitin",
"source":"1234",
"customField13":"qwerty"
}
用 Java7 尝试过的方法
Map<String, String> output = new HashMap<>();
for (ColumnIndexMapping colMap: colMapList) {
output.put(colMap.getColumnname(), secondList .get(colMap.getIndex()));
}
现在在 Java8 中执行此操作的最佳方法是什么。
【问题讨论】:
-
到目前为止你有什么尝试?
-
这不是你在 Java 中定义
List和Map的方式。请发布编译的代码。而且,是的,你还没有尝试过任何东西。您在 Java 7 中的方法是什么? -
@Jason 我尝试使用 Java7 方法。只需使用 for 循环迭代两个列表,然后执行逻辑,但我想使用 Java8 来实现这一点
-
为什么你降级了这个问题,我知道使用 java7 的解决方案,但我想使用 Java8 解决这个问题。
-
@nitintyagi 我投了反对票。您没有表现出任何努力(将一个 POJO 类和两个 JSON sn-ps 放入 Java 代码中,这使其无效)。您也没有展示如何通过标准方法解决问题。只要您编辑问题,我就愿意投票。