ToMap 运算符输出

ToMap operator output

我不明白为什么研究 RXJAva 我发现了这个输出,我希望,考虑到 toMap returns 一个 HashMap,一个具有 5 个键值的 Map 的不同输出,而不是我得到只有 3 个键值的地图 {4=Beta, 5=Gamma, 7=Epsilon},为什么?

       Observable.just("Alpha", "Beta", "Gamma", "Quattro",
                "Epsilon")
                .toMap(String::length)//output {4=Beta, 5=Gamma, 7=Epsilon}
                .subscribe({it -> println(it) })

你的键是字符串的长度;当多个字符串长度相同时,插入最后一个字符串并替换之前插入的 key/value 对。所以 Gamma 删除 Alpha 并且 Epsilon 删除 Quattro.