java - 如何从 Java Hashmap 为 pojo 类设置值
问题描述
我创建了一个下面的代码,它将读取 excel 表并将数据存储到 hashmap 中。
public static void getValue()
{
Map<Integer, List<String>> getValues= new HashMap<Integer,List<String>>();
String fileLocation = ".//clone1//Sample.xls";
File f = new File(fileLocation);
FileInputStream fis = new FileInputStream(f);
Workbook book = new XSSFWorkbook(fis);
Sheet sheet = book.getSheetAt(0);
for (int i = 1; i <= sheet.getLastRowNum(); i++)
{
Row row = sheet.getRow(i);
List<String> datai = new ArrayList<String>();
for (int j = 0; j < row.getLastCellNum(); j++)
{
row.getCell(j, Row.CREATE_NULL_AS_BLANK);
datai.add(row.getCell(j).getStringCellValue());
}
getValues.put(i,datai);
}
}
HashMap 的输出有些人认为如下:
键:0 值:["mercury","Mercury"]
键:1 值:[“亚马逊”,“Kindle”]
“key”代表excel表格中的行数,“Values”代表用户名和密码列,存储在Map中的List中。
根据输出,excel 表有两个活动行和 4 个活动单元格值。
+示例 POJO 类+
public class DataSet
{
private username;
private password;
//getter and setters methods for username, and password
}
我想将这些值应用于 pojo 类。这是实现从 Map 设置 pojo 对象值的有效方法。
解决方案
You can convert it using stream in one sort:
List<DataSet> data = getValues.values().stream()
.filter(l -> l.getSize() >= 2)
.map(l -> new DataSet(l.get(0), l.get(1)))
.collect(Collectors.toList());
推荐阅读
- node.js - 无法读取未定义的属性(读取“错误”)
- javascript - 获取 pipe() 状态 JavaScript
- python - 如何关闭一个特定的屏幕?
- python - 将 aws 胶水 get-tables 输出从 json 转换为 PySpark Dataframe
- directory - 仅复制文件夹
- reactjs - 如何将 .map 抽象到其他 React 组件以列出 API 调用
- java - 具有自定义域名的 Wiremock/Mockserver?
- javascript - Jquery x-editable 不起作用 - Laravel 6.x
- aws-lambda - Lambda 函数中的 sessionId 可以是 Alexa 技能的 ID?
- css - 无法完全覆盖 MUI TableCell 中的顶部和底部填充以使整个单元格内容可点击