Java 计算一段密文中的双字

Java 计算一段密文中的双字,java,loops,for-loop,frequency,Java,Loops,For Loop,Frequency,试图找出为什么我的bi-gram计数器在数组中没有正确排序并保持正确的匹配计数。非常感谢您的帮助 示例-->“DLKJGJFFDLJDDLJLDLFK” 回答-->DL=4 int-cipherTxt_-length=cipherTxt.length(); 弦ch; 整数计数=0; 对于(chari='a';我试试这个 String s = "DLKJGJFFDLJDDLJLDLFK"; Map<String, Integer> map = IntStream.range(0,

试图找出为什么我的bi-gram计数器在数组中没有正确排序并保持正确的匹配计数。非常感谢您的帮助

示例-->“DLKJGJFFDLJDDLJLDLFK” 回答-->DL=4

int-cipherTxt_-length=cipherTxt.length();
弦ch;
整数计数=0;
对于(chari='a';我试试这个

String s =  "DLKJGJFFDLJDDLJLDLFK";
Map<String, Integer> map = IntStream.range(0, s.length() - 1)
    .mapToObj(i -> s.substring(i, i + 2))
    .collect(HashMap::new, (m, e) -> m.compute(e, (k, v) -> v == null ? 1 : v + 1), (m, n) -> m.putAll(n));
Entry<String, Integer> max = map.entrySet().stream()
    .max(Comparator.comparing(Entry::getValue)).get();
System.out.println(max);    // -> DL=4
String s=“DLKJGJFFDLJDDLJLDLFK”;
Map Map=IntStream.range(0,s.length()-1)
.mapToObj(i->s.substring(i,i+2))
.collect(HashMap::new,(m,e)->m.compute(e,(k,v)->v==null?1:v+1,(m,n)->m.putAll(n));
Entry max=map.entrySet().stream()
.max(Comparator.comparing(Entry::getValue)).get();
系统输出打印Ln(最大值);//->DL=4