使用 Java 处理 CSV 文件以映射 <String,String[]> 8

Processing a CSV File to Map<String,String[]> using Java 8

我想将 CSV 文件收集到地图中,地图键是行的第一个字符串(行 [0]),地图值是行的其余部分的字符串数组,不包括行 [0] ].

.collect(Collectors.toMap(行 ->行[0], ));

不确定要输入什么作为 .toMap 方法的第二个参数来实现此目的

public Map<String,String[]> readFile() {

        try {
            Path path = Paths.get("src/CSV/map.csv");
            BufferedReader reader = new BufferedReader(Files.newBufferedReader(path, Charset.forName("UTF-8")));
            return reader.lines()
                    .map(line -> line.split(","))
                    .collect(Collectors.toMap(line ->line[0], ));
        } catch (IOException e) {
            throw new UncheckedIOException(e);
        }

使用Arrays.copyOfRange:

.collect(Collectors.toMap(line -> line[0], line->Arrays.copyOfRange(line, 1, line.length)));

或者使用这个:

.collect(Collectors
   .toMap(line -> line[0], line-> Stream.of(line).skip(1).toArray(String[]::new)));