तो मैं एक कार्यक्रम के लिए एक ब्रेडथ-फर्स्ट सर्च फ़ंक्शन पर काम कर रहा हूं, जिसके लिए मैं स्कूल के लिए काम कर रहा हूं, और जब मैं किसी दिए गए नोड के लिए आउटगोइंग किनारों से गुजरता हूं, तो मैं अपने संभावित किनारों के माध्यम से कैसे जा रहा हूंमैं एक ArrayList <ArrayList <String>> को कैसे क्रमबद्ध कर सकता हूं?
[[A, 1], [D, 1], [C, 2], [D, 2]]
लेकिन क्या मैं वास्तव में चाहते हैं यह है::, यह कुछ इस तरह दिखता
[[A, 1], [C, 2], [D, 1], [D, 2]]
कहाँ एक जोड़ी के पहले सूचकांक नोड का नाम है कि करने के लिए, और किनारे अंक दूसरी अनुक्रमणिका किनारे के लिए लेबल है। अनिवार्य रूप से मैं इन किनारों को वर्णानुक्रम से पहले जाना चाहता हूं, पहले नोड नाम से, फिर लेबल नाम से, लेकिन मुझे यकीन नहीं है कि यह कैसे करें, क्योंकि Collections.sort() 2 डी ArrayList के लिए काम नहीं करता है। इस तरह हल करने के लिए एक अच्छी विधि पर कोई संकेतक/विचार? सबको धन्यवाद!
संपादित करें: मैं JRE 1.7 उपयोग कर रहा हूँ इस असाइनमेंट के लिए, नहीं 1,8
'[[ए, 1], [डी, 1], [सी, 2], [डी, 2]] ''ऐरेलिस्ट>' ' के लिए वैध उदाहरण नहीं है, आप प्राकृतिक आदेश द्वारा क्रमबद्ध करने के लिए '.stream()। Sorted() 'का उपयोग कर सकते हैं या यहां तक कि परिभाषित भी कर सकते हैं कस्टम 'तुलनाकर्ता' –
आप एक ऐरेलिस्ट के बजाय हैश मैप का उपयोग कर सकते हैं ... – RoiEX
RoiEX, हैश मैप का उपयोग नहीं कर सका क्योंकि उसके पास एक कुंजी हो सकती है जिसमें अलग-अलग मान हैं या हैश मैप <स्ट्रिंग, int []> ... जो कुछ सरल के लिए एक जटिल संरचना बनाता है। – jeorfevre