W twoim miejscu wprowadziłbym moją własną klasę. Tak długo, jak interesują Cię zestawy tylko dwóch obiektów, używanie HashMap
, (która, nawiasem mówiąc, wewnętrznie używa HashMap
) lub jakiejkolwiek innej klasy zaprojektowanej dla zestawów arbitralnych cardinality jest marnotrawstwem zasobów i zwiększa niepotrzebną złożoność.
Po prostu utwórz własną klasę z odpowiednimi implementacjami equals()
i hashCode()
. Posiadanie operacji , a nawet implementacja części interfejsu Set
, może również mieć sens.
Jedna ważna uwaga: upewnij się, że dokument klasa obszernie - przynajmniej określić, czy equals()
wykonuje tożsamości lub porównania równości dla zawartych przedmiotów, a co do treści zawartych w odniesieniu null
...
Jaki jest twój powód, aby napisać kontener "nieuporządkowanej paryżków dowolnego typu"? –
możliwy duplikat [Co to jest odpowiednik C++ Pair w Javie?] (Http://stackoverflow.com/questions/156275/what-is-the-equivalent-of-the-c-pairl-r-in -java) –
@AndrewLogvinov Można rozważyć na przykład krawędzie nieuporządkowanego wykresu. 'Edge (v1, v2)' jest równe 'Edge (v2, v1)'. – Michael