यदि हमारे पास छात्र और पाठ्यक्रम इकाई है और उनके बीच का रिश्ता कई लोगों के लिए है, तो छात्र कई पाठ्यक्रम ले सकते हैं और कई छात्रों द्वारा एक कोर्स लिया जा सकता है। अगर हमें इस संबंध का प्रतिनिधित्व करना है तो सर्वोत्तम डेटा संरचना क्या है जिसके माध्यम से हम इस संबंध का प्रतिनिधित्व कर सकते हैं। यदि हम छात्र के साथ हैशप का उपयोग करते हैं, तो छात्रों ने मूल्य के रूप में ली गई पाठ्यक्रमों की कुंजी और सूची के रूप में हमें एक और हैशप की आवश्यकता है जिसके माध्यम से हम छात्र संबंधों के लिए पाठ्यक्रम का प्रतिनिधित्व कर सकते हैं। क्या इस संबंध का प्रतिनिधित्व करने के लिए कोई बेहतरीन तरीका है ताकि खोज तेजी से हो।कई रिश्तों को कई प्रतिनिधित्व करने के लिए डेटा संरचना
7
A
उत्तर
1
एक द्वि-दिशात्मक ग्राफ लागू करता है करने के लिए इस्तेमाल किया जा सकता कई-से-अनेक संबंध जहां प्रत्येक नोड कई अन्य नोड्स
0
मुझे लगता है कि यह डेटा संरचनाओं के संयोजन का उपयोग करने के लिए उपयुक्त है से जोड़ा जा सकता।
public class ManyToManyMap<S, C> {
private Map<S, Set<C>> firstToSecondMap = new HashMap<>();
private Map<C, Set<S>> secondToFirstMap = new HashMap<>();
public void put(S first, C second) {
if (!firstToSecondMap.containsKey(first)) {
firstToSecondMap.put(first, new HashSet<>());
}
firstToSecondMap.get(first).add(second);
if (!secondToFirstMap.containsKey(second)) {
secondToFirstMap.put(second, new HashSet<>());
}
secondToFirstMap.get(second).add(first);
}
public Set<C> getFirst(S first) {
return firstToSecondMap.get(first);
}
public Set<S> getSecond(C second) {
return secondToFirstMap.get(second);
}
public Set<C> removeByFirst(S first) {
Set<C> itemsToRemove = firstToSecondMap.remove(first);
for (C item : itemsToRemove) {
secondToFirstMap.get(item).remove(first);
}
return itemsToRemove;
}
public Set<S> removeBySecond(C second) {
Set<S> itemsToRemove = secondToFirstMap.remove(second);
for (S item : itemsToRemove) {
firstToSecondMap.get(item).remove(second);
}
return itemsToRemove;
}
}
यहाँ और एक उदाहरण के उपयोग है: यहाँ एक छोटा सा उदाहरण है
ManyToManyMap<String, String> mmMap = new ManyToManyMap<>();
mmMap.put("Tom", "Math");
mmMap.put("Tom", "Java");
mmMap.put("Tom", "Java");
mmMap.put("Mary", "Java");
Set<String> coursesByStudent = mmMap.getFirst("Tom"); // Java, Math
Set<String> studentByCourse = mmMap.getSecond("Java"); // Tom, Mary
mmMap.removeByFirst("Tom");
studentByCourse = mmMap.getSecond("Java"); // Mary
की
संबंधित मुद्दे
- 1. कई रिश्तों के लिए कई
- 2. कोर डेटा - कई रिश्तों को फ़िल्टर करने के लिए एनएसपीडिकेट
- 3. वसंत + जेपीए कई रिश्तों के लिए कई
- 4. वाईआई ढांचा कई रिश्तों के लिए कई
- 5. रिश्तों पर अतिरिक्त डेटा के साथ कई रिश्तों के लिए कई
- 6. कई रिश्तों को एनएसपीडिकेट
- 7. इकाई फ्रेमवर्क कई रिश्तों के लिए कई लोगों को पूछताछ
- 8. ActiveAndroid कई से कई रिश्तों
- 9. कई-से-कई रिश्तों के साथ डेटा संपादित करने के लिए जीयूआई पैटर्न
- 10. LINQ कई से कई रिश्तों: समाधान?
- 11. कई से कई रिश्तों में अधिकतम मूल्य
- 12. संग्रह में कई रिश्तों के लिए ऑटोमैपर कई
- 13. कई से कई रिश्तों के लिए सिम्फनी 2 फॉर्म विजेट
- 14. डैपर मल्टी मैपिंग कई रिश्तों के लिए कई
- 15. कई रिश्तों के लिए कई मानचित्रण w/विदेशी कुंजी संदर्भ
- 16. Django-tastypie और कई के लिए कई रिश्तों
- 17. इकाई फ्रेमवर्क उपयोगकर्ता भूमिकाएं कई रिश्तों के लिए कई
- 18. कोर डेटा कई से अधिक रिश्तों - प्रश्न
- 19. एक्सएमएल या अन्य साधारण फ़ाइल प्रारूप में कई से कई रिश्तों का प्रतिनिधित्व कैसे करें?
- 20. स्तरित सर्कल का प्रतिनिधित्व करने के लिए चालाक डेटा संरचना
- 21. एसक्यूएल क्वेरी कई रिश्तों के लिए
- 22. यूएमएल क्लास मॉडल कई रिश्तों को कई मॉडल कैसे करें
- 23. Liferays सेवा बिल्डर - कई से कई रिश्तों
- 24. एनएसटीकेनफ़ील्ड कोर डेटा का प्रतिनिधित्व करने वाले कई रिश्ते
- 25. एक से कई रिश्तों को पोस्ट करना
- 26. ईएफ 4 ऑडिट कई रिश्तों में कई लोगों के परिवर्तन
- 27. setPrimitiveValue: forKey: और कई रिश्तों
- 28. कई से कई रिश्तों में वस्तुओं की खोज
- 29. कई रिश्तों को छंटनी कोर डेटा में सेट
- 30. एनएसएसोर्ट डिस्क्रिप्टर और कई रिश्तों
संभव डुप्लिकेट [जावा कई संघ नक्शा बनाने के लिए कई] (http://stackoverflow.com/questions/2571652/ जावा-कई-से-कई-एसोसिएशन-मानचित्र), [कई रिश्ते में कई लोगों में मॉडल संरचना] (http://stackoverflow.com/questions/14219954/model- संरचना-in-many-to-many-relationship) – rid
http://stackoverflow.com/questions/473862/is-there-a-many-to-many-collection-in-java-using-generics-domain-model-not-per – assylias
वृक्ष आपको यहां क्या चाहिए –