使用第一行作为键并将列值作为数组/列表将csv转换为地图

时间:2018-10-31 15:11:57

标签: java

我将这种格式的数据保存在csv-

20017,20018,20019
10,20,30
20,30,40

所以我想使用lambda表达式在以下格式的地图中使用它-

Map<Integer,Double[]> = new HashMap<>();
[20017={10,20},20018={20,30}, 20019={30,40}]

2 个答案:

答案 0 :(得分:0)

您的逻辑可能是这样的:

  1. 读取第一行和split(",")。数组长度为numberOfColumns。放在一边。

  2. 创建一个List<List<Double>>并将numberOfColumns列表添加到外部列表中。

  3. 阅读其余各行。对于每一行,split(",")并将每个值解析为Double并添加到相应的列列表中。

  4. 完成阅读后,请使用toArray()List<Double>转换为Double[],并在步骤1中使用数组中的键构建最终的Map<Integer,Double[]>

答案 1 :(得分:0)

public function save(Request $req){
$destinationPath = public_path('/upload');
            $image1=$request->file('image1');
            $_image1 = rand().'.'.$image1->getClientOriginalExtension();
            $image1->move($destinationPath, $_image1);

$info = new Upload;
$info->image = $_image1;
$info->save();

return json_encode("Successfully Saved");
}