guava/src/com/google/common/hash/Hashing.java
public static HashFunction concatenating(
      HashFunction first, HashFunction second, HashFunction... rest) {
    // We can't use Lists.asList() here because there's no hash->collect dependency
    List<HashFunction> list = new ArrayList<>();
    list.add(first);
    list.add(second);
    list.addAll(Arrays.asList(rest));
    return new ConcatenatedHashFunction(list.toArray(new HashFunction[0]));
  }
public static HashFunction concatenating(
      HashFunction first, HashFunction second, HashFunction... rest) {
    // We can't use Lists.asList() here because there's no hash->collect dependency
    List<HashFunction> list = new ArrayList<>();
    list.add(first);
    list.add(second);
    list.addAll(Arrays.asList(rest));
    return new ConcatenatedHashFunction(list.toArray(new HashFunction[0]));
  }
public static HashFunction concatenating ( HashFunction first , HashFunction second , HashFunction ... rest ) { // We can't use Lists.asList() here because there's no hash->collect dependency List < HashFunction > list = new ArrayList <> ( ) ; list . add ( first ) ; list . add ( second ) ; list . addAll ( Arrays . asList ( rest ) ) ; return new ConcatenatedHashFunction ( list . toArray ( new HashFunction [ 0 ] ) ) ; }
Returns a hash function which computes its hash code by concatenating the hash codes of the
underlying hash functions together. This can be useful if you need to generate hash codes of a
specific length.

<p>For example, if you need 1024-bit hash codes, you could join two {@link Hashing#sha512} hash
functions together: {@code Hashing.concatenating(Hashing.sha512(), Hashing.sha512())}.

@since 19.0
Returns a hash function which computes its hash code by concatenating the hash codes of the underlying hash functions together . This can be useful if you need to generate hash codes of a specific length .