Tôi có đến các lớp học, ClassA và ClassB và một "nhiều nhiều" AssociationClass. Tôi muốn sử dụng một cấu trúc để giữ các liên kết giữa A và B như tôi có thể biết, đối với mỗi trường hợp của A hoặc B, là các đối tác của chúng.Java nhiều để nhiều hiệp hội đồ
Tôi nghĩ của việc sử dụng một HashMap, với các phím cặp:
Hasmap<Pair<ClassA, ClassB>, AssociationClass> associations;
Bằng cách này, tôi có thể thêm và loại bỏ một mối liên hệ giữa hai trường hợp của ClassA và ClassB, và tôi có thể truy vấn một mối quan hệ cho hai trường hợp cụ thể.
Tuy nhiên, tôi bỏ lỡ tính năng nhận tất cả các liên kết được xác định cho một trường hợp cụ thể là ClassA hoặc ClassB.
Tôi có thể làm điều đó bằng vũ lực và lặp qua tất cả các phím của bản đồ để tìm kiếm các liên kết giữa một cá thể cụ thể, nhưng điều này không hiệu quả và không thanh lịch.
Bạn có biết bất kỳ cấu trúc dữ liệu/thư viện miễn phí nào cho phép điều này không? Tôi không muốn phát minh lại bánh xe.
Cảm ơn trước sự giúp đỡ của bạn,
Raphael
NB: Đây không phải là một "cơ sở dữ liệu" câu hỏi. Các đối tượng này là POJO thuần túy được sử dụng để tính toán trực tiếp, tôi không cần những thứ liên tục.
Do các trường hợp cụ thể của ClassA và ClassB có thể có nhiều kết nối AssociationClass họ? – rmarimon
Đó là một câu hỏi hay: Không. Trong trường hợp của tôi, có tối đa một hiệp hội cho mỗi cặp vợ chồng. –
thì không nhiều lắm. – CPerkins