如何解决有没有办法使用 BufferedReader 将值直接接受到 List 中?
对于数组,我们可以使用:
int[] arr = Arrays.stream(br.readLine().trim.split("\\s+"))
.maptoInt(Integer::parseInt)
.toArray();
有没有类似的方法可以在 1 步中初始化 List?
解决方法
使用自动装箱方法并收集到列表中,而不是调用 toAray()
...
.boxed().collect(Collectors.toList());
注意:您的变量将是一个类似于 List<Integer> intList = ...
如果你在一个文件中有多行由空格分隔的整数,你可以阅读 然后全部放入一个列表中,如下所示:
List<Integer> list = null;
try {
list = Files.lines(Path.of("c:/someFile.txt"))
.flatMap(line -> Arrays.stream(line.trim().split("\\s+")))
.map(Integer::parseInt)
.collect(Collectors.toList());
} catch (IOException ioe) {
ioe.printStackTrace();
}
要像示例中那样读取一行内容,您可以这样做。
List<Integer> list = Arrays.stream(br.readLine().trim().split("\\s+"))
.map(Integer::parseInt)
.collect(Collectors.toList());
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。