有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中int数组键的Apache Spark类?

我使用多个整数作为Spark中的键。ApacheSpark中是否存在具有此功能的现有类,因此我不需要实现hashCode等?这是Java语言,而不是Scala语言

public class MultiIntKey
{
  public int key1;
  public int key2;
  ... 
}

共 (1) 个答案

  1. # 1 楼答案

    我建议看看Java元组或Scala,其中元组是std库的一部分

    <dependency>
        <groupId>org.javatuples</groupId>
        <artifactId>javatuples</artifactId>
        <version>1.2</version>
    </dependency>
    

    javatuples为您提供了从1到10个元素的元组类,它们都有equals+哈希代码。它们都是不变的。顺便说一句,您的版本是可变的,对于用作键的类来说,这是非常糟糕的做法

    Unit<A> (1 element)
    Pair<A,B> (2 elements)
    Triplet<A,B,C> (3 elements)
    Quartet<A,B,C,D> (4 elements)
    Quintet<A,B,C,D,E> (5 elements)
    Sextet<A,B,C,D,E,F> (6 elements)
    Septet<A,B,C,D,E,F,G> (7 elements)
    Octet<A,B,C,D,E,F,G,H> (8 elements)
    Ennead<A,B,C,D,E,F,G,H,I> (9 elements)
    Decade<A,B,C,D,E,F,G,H,I,J> (10 elements)