मैं प्रोग्रामिंग के लिए नया हूं और मैं एक ऐसी विधि लिखने की कोशिश कर रहा हूं जो सूची में सबसे अच्छा विकल्प चुनेगा। यहाँ मैं क्या मिल गया है है:किसी प्राथमिक प्राथमिकता वाले तत्वों के बीच चयन कैसे करें?
item_no item_type origin
10 2 US
10 2 FR
10 4 UK
11 6 FR
मैं एक सूची में इन डाल:
[[10, 2, US], [10, 2, FR], [10, 4, UK], [11, 6, FR]]
मैं अपने विधि में इस सूची का समय लगेगा और मैं भी कुछ सुविधाओं के साथ एक विशिष्ट आइटम की है। आइए मेरा विशिष्ट आइटम इस प्रकार चुनें;
item_no item_type origin
10 4 GE
अब, मुझे क्या करना चाहते हैं, तो सूची में आइटम्स में से एक अपने मद की तुलना में उच्च प्राथमिकता है, मैं उच्च प्राथमिकता आइटम की सुविधाओं के साथ अपने मद की सुविधाओं अपडेट कर देगा। प्राथमिकता तर्क क्रमश: item_code
, item_type
और origin
पर निर्भर करता है। मैं नीचे की तरह नक्शे का उपयोग कर रहा प्राथमिकता क्रम पाने के लिए:
HashMap<String, Integer> itemCodeOrder = x.getItemCodeOrder();
HashMap<String, Integer> itemTypeOrder = y.getItemTypeOrder();
HashMap<String, Integer> originOrder = z.getOriginOrder()
एक ठेठ प्राथमिकता क्रम इस तरह है:
- itemCodeOrder: 12, 10, 11
- itemTypeOrder: 6, 2, 4
- originOrder: अमेरिका, ब्रिटेन, फ़्रांस, जीई
पहली जगह में मैं इस सूची में और compar की तुलना में अधिक प्राथमिकता आइटम का चयन करना चाहते ई आइटम को मेरे आइटम के साथ अद्यतन करने के लिए या नहीं। उदाहरण के लिए, item_no 10
से ऊपर की सूची में 11
से अधिक प्राथमिकता है, इसलिए मैं उन वस्तुओं में से एक को चुनूंगा जिनमें item_no 10
है। फिर, मैं item_type
पर देखूंगा: मेरे पास 2
और 4
है, अब मैं 2
वाले आइटम में से एक चुनूंगा। तो origin
देखने के बाद, मैं अंत में [10, 2, US]
मिल जाएगा मैं अपने आइटम के साथ तुलना की जाती है और अद्यतन की तरह है:
item_no item_type origin
10 2 US
मैं एक सामान्य कोड लिखना चाहते हैं लेकिन मैं एक उचित तरीके से नहीं मिल सका मेरे HashMap
तर्क के साथ सूची में पूर्व आइटम प्राप्त करने के लिए। मैं इसके साथ कैसे संभाल सकता हूं?
आप आइटम तुलनित्र लिख सकते हैं और प्राथमिकता से सूची को सॉर्ट कर सकते हैं। फिर विशिष्ट आइटम के लिए बस यह पता लगाएं कि सूची में बड़ी प्राथमिकता है या नहीं। – StanislavL
जैसा कि स्टैनिस्लाव ने टिप्पणी की, आपको जो चाहिए वह तुलनित्र के लिए एक अच्छी नौकरी है। आप इसे अपने मानचित्रों का उपयोग करके प्राथमिकता शब्दकोश वाले कन्स्ट्रक्टर तर्क के रूप में बना सकते हैं। –