who*_*ami 4 string functional-programming string-comparison java-8
今天我试图用 java 中的 Stream API 比较两个字符串。假设我们有两个字符串:
String str1 = "ABCDEFG"
String str2 = "ABCDEEG"
Run Code Online (Sandbox Code Playgroud)
我们可以用它来制作流:
str1.chars().stream()...
str2.chars().stream()...
Run Code Online (Sandbox Code Playgroud)
现在我想比较这些字符串,一个字符一个字符,当字符在同一位置不同时迭代一些变量,所以在这种情况下的结果将是 1,因为这有一个区别。
我试图从第一次开始调用 map 或 forEach 并且我的旅程结束了,因为我不知道如何从第二个流中获取相应的元素。
假设两个字符串的长度相同(整数最大值),您可以将差异计算为:
int diffCount = (int) IntStream.range(0, str1.length())
.filter(i -> str1.charAt(i) != str2.charAt(i)) // corresponding characters from both the strings
.count();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1327 次 |
| 最近记录: |