我目前在从哈希图中的值中提取单个字符串时遇到麻烦。
目前,我有一个哈希映射,其设置如下:
Map<Character, Character> keyMapping = new HashMap<Character, Character>();
for(int i = 0; i < rotor1.length(); i++) {
keyMapping.put(thirdKeyMapping.get(rotor1.charAt(i)), rotor2.charAt(i));
}
并且当您打印时,keyMapping
它呈现一个数组,如下所示:
println(keyMapping.values().toString());
//[F, S, Y, Q, N, I, D, X, B, E, H, Z, C, T, J, O, W, M, V, A, L, K, U, P, R, G]
如何更改此打印行,以使该值是仅包含字母的单个字符串?例如:
//FSYQNIDXBEHZCTJOWMVALKUPRG
希望这一点很清楚,但是请告诉我是否有更多信息可以帮助您回答这个问题。
如果您使用的是Java 8,则可以使用reduce来完成您要执行的操作,其String
标识为空字符串""
。
请注意,由于您具有的集合Character
,因此必须有一个中间步骤才能将它们String
首先转换为s。
String reduced = keyMapping.values()
.stream()
.map(Object::toString)
.reduce("", String::concat);
然后可以打印出来reduced
,它将是您期望的字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句