java逗号切割后多行印射
时间: 2023-11-18 12:56:12 浏览: 57
可以使用Java 8的Stream API和Lambda表达式来实现对逗号分割后的多行数据进行映射输出。具体实现步骤如下:
1. 读取多行数据,并逐行进行逗号切割,得到一个二维字符串数组。
```java
String input = "a,b,c\n1,2,3\nx,y,z";
String[][] data = Arrays.stream(input.split("\n"))
.map(line -> line.split(","))
.toArray(String[][]::new);
```
2. 对每行数据进行映射操作,例如将第一列转换为大写字母,第二列转换为整数并加1,第三列不变。
```java
Arrays.stream(data)
.map(cols -> new String[]{cols[0].toUpperCase(), String.valueOf(Integer.parseInt(cols[1]) + 1), cols[2]})
.forEach(cols -> System.out.println(Arrays.toString(cols)));
```
3. 输出结果。
```
[A, 3, c]
[1, 3, 3]
[X, 3, z]
```
完整代码如下:
```java
public class Main {
public static void main(String[] args) {
String input = "a,b,c\n1,2,3\nx,y,z";
String[][] data = Arrays.stream(input.split("\n"))
.map(line -> line.split(","))
.toArray(String[][]::new);
Arrays.stream(data)
.map(cols -> new String[]{cols[0].toUpperCase(), String.valueOf(Integer.parseInt(cols[1]) + 1), cols[2]})
.forEach(cols -> System.out.println(Arrays.toString(cols)));
}
}
```
阅读全文