[英]How to find single digit from a set of number by doing product of each numbers in java
[英]How to get for each digit number of numbers that start with that digit from Java Stream?
我給了一個包含數字和單詞的文字。
如何從每個數字中獲取以該數字開頭的文本中的數字?
我想在這里使用Java Streams。
我設法過濾所有數字:
Files.lines(Paths.get("/path/to/file/text.txt"))
.filter(Pattern.compile("\\d+").asPredicate())
但這是艱難的部分。 如何計算每個數字以它開頭的數字?
您可以在過濾后按初始字符進行分組,並將數據放入Map<Character,Integer>
:
Map<Character,Integer> digCount = Files
.lines(Paths.get("/path/to/file/text.txt"))
.filter(Pattern.compile("\\d+").asPredicate())
.collect(Collectors.groupingBy(s -> s.charAt(0), Collectors.summingInt(s->1)));
for (Map.Entry<Character,Integer> e : digCount.entrySet()) {
System.out.println(e.getKey()+" "+e.getValue());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.