Chciałbym użyć dwóch typów ogólnych jako klucza do mapy mieszania. Efektywnie:

Map<CollectionType<Integer, Integer>, Character> map = new HashMap<>();

Próbuję dowiedzieć się, czy jest to możliwe, a jeśli tak, jakiego typu kolekcji mógłbym użyć. Właściwy typ musi być w stanie zaakceptować zduplikowane wartości. tj. <1, 0>, <1, 1>, <2, 0> mogą być używane jako klucz na mapie

Dla dodatkowego tła kluczem na mapie będą współrzędne na siatce szesnastkowej, a wartość jest tym, co jest aktualnie przechowywane w tej lokalizacji.

2
jwmorse 20 listopad 2018, 06:39

1 odpowiedź

Najlepsza odpowiedź

Użyj Pair<Integer, Integer>, dostarczanego przez wiele bibliotek, takich jak org.apache.commons.lang3.tuple.Pair lub w jdk jako javafx.util.Pair.

equals() i hashcode() są nadpisane, więc mogą działać jako klucz na mapie.

Map<Pair<Integer, Integer>, Character> map = new HashMap<>();
3
Kartik 20 listopad 2018, 06:46