gpt4 book ai didi

Java String 具有代码保留顺序和基于哈希的分区

转载 作者:可可西里 更新时间:2023-11-01 16:30:11 26 4
gpt4 key购买 nike

基于 java api 文档中的以下函数,它似乎确实保留了顺序。s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]我还测试了一些 hascode 与实际字符串顺序相似的示例。但只是想和其他人核实一下,以防我在这里遗漏了什么。

我接下来的问题是关于在使用hadoop或spark的大数据应用程序中是否使用HashPartitioner或OrderPreservingPartitioner。如果您的 key 只是一个 Java 字符串,那么 HashPartitioner 也应该保留顺序,对吧?

最佳答案

您的前提是错误的:它不保持秩序。"Aa"hashCode2112BAhashCode2111"Aa" 出现在 "BA" 之前,但它的 hashCode 更大。

(此外,在您溢出 int 并且数字开始回绕之前不需要很长的字符串,这也违反了您的假设。)

所以不,这些都不保留顺序。

关于Java String 具有代码保留顺序和基于哈希的分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37310560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com