我有一个字符串:
My name is amit
和映射:
My -> 1121
name -> 1122
is -> 1123
amit -> 1124
我想回来:
1121 1122 1123 1124
其中每个单词都映射到其对应的长值,该长值保存在 HashMap 中。
这是我的版本:
public String delimtedStringToLong(String input, String delimiter, Map<String, Long> map) {
String[] arr = input.split(delimiter);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
sb.append(String.valueOf(map.get(arr[i])) + delimiter);
}
return sb.toString();
}
我正在 Java 8 中执行此操作。是否有更好的方法。谢谢!
最佳答案
我会分割输入字符串,通过映射函数将其流式传输,该函数从映射中获取值,然后将其收集回来:
String input = "My name is amit";
Map<String, Long> map = new HashMap<>();
map.put("My", 1121L);
map.put("name", 1122L);
map.put("is", 1123L);
map.put("amit", 1124L);
String output =
Arrays.stream(input.split(" "))
.map(s -> String.valueOf(map.get(s)))
.collect(Collectors.joining());
关于java - 根据字符串到长整型映射将定界字符串转换为定界长整型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38750747/