代码之家  ›  专栏  ›  技术社区  ›  Shreshtha Garg

Java——如何从字符串列表中创建哈希id

  •  0
  • Shreshtha Garg  · 技术社区  · 6 年前

    我有一个字符串列表。我想从列表的所有字符串中生成一个哈希代码。我该怎么做?

    3 回复  |  直到 4 年前
        1
  •  4
  •   Peter Lawrey    6 年前

    如果你有一个对象列表,你可以

    List<String> list = ...
    int hashCode = list.hashCode();
    

    哈希代码使用内容。如果需要的话,有很多改进哈希代码的选项,但这是最简单的。

        2
  •  1
  •   Mureinik    6 年前

    你可以拿着 hashCode 但如果您打算使用不同的 List 保持同样的关系。一个只依赖字符串本身的更健壮的解决方案是使用 Arrays#hashCode :

    int hash = Arrays.hashCode(list.toArray());
    

    但是,请注意,此哈希代码取决于数组元素的顺序,因此如果不关心列表中字符串的顺序,则可能需要对该数组进行排序,以便相同的字符串生成相同的哈希代码。

        3
  •  2
  •   Bohemian    6 年前

    试试这个:

    int hashCode = Objects.hash(list.toArray());