このコードを検討してください
val map = new HashMap[(String, String), Set[(String, Int, Double, Int)]]
with MultiMap[(String, String), (String, Int, Double, Int)]
タイプパラメータの定義を繰り返さずにマルチマップトレイトを使用する方法はありますか?
このコードを検討してください
val map = new HashMap[(String, String), Set[(String, Int, Double, Int)]]
with MultiMap[(String, String), (String, Int, Double, Int)]
タイプパラメータの定義を繰り返さずにマルチマップトレイトを使用する方法はありますか?
タイプエイリアスを使用して繰り返しを減らすことができます
type K = (String, String)
type V = (String, Int, Double, Int)
次に、マップは次のようになります
val map = new HashMap[K, Set[V]] with MultiMap[K, V]
ただし、スタイル上のルールとして、いくつかの理由から、コードでTupleNトレイトをあまり使用することはお勧めできません。
オーダーメイドのクラスを作成するオーバーヘッドがわずかであることを考慮すると、次のようになります。
case class K(p1: String, p2: String)
それは通常それだけの価値があります!