2017-12-06 8 views
5

कहें कि मेरे पास तत्वों की एक सूची है जिसका आकार 100 है। अब मैं केवल सूची में 100 वां रिकॉर्ड चाहता हूं और सूची से 1-99 के बाकी सभी रिकॉर्ड हटा दिए जाने चाहिए।मैं java.util में अंतिम रिकॉर्ड कैसे प्राप्त कर सकता हूं। उपसूची() या किसी अन्य विधि का उपयोग करके सूची?

मैंने कोड के नीचे दिए गए टुकड़े की कोशिश की है लेकिन सूची आकार में कोई बदलाव नहीं है जैसा कि मैंने इसे देखा है।
// आउटपुट list.size() रिटर्न 100

list.subList(list.size()-1, list.size()); 

// आउटपुट list.size() 100 रिटर्न subList() कहा जाता है के बाद ...
मैं कैसे जावा में अभी पिछले रिकॉर्ड प्राप्त कर सकते हैं subutist() या जावा में उपलब्ध किसी भी अन्य विधियों का उपयोग कर .util.List?

+0

ऐसा इसलिए है क्योंकि उपन्यास एक नई सूची देता है। – CrazySabbath

+0

आप केवल एक इंडेक्स के साथ एक सूची क्यों वापस करना चाहते हैं? क्या आप इसे जोड़ने की योजना बना रहे हैं? मैं सिर्फ उत्सुक हूं जैसे कि आपको केवल एक इंडेक्स की आवश्यकता है, आप सूची –

+1

@Master Yoda की बजाय उस इंडेक्स पर आइटम वापस कर सकते हैं, मुझे आपके प्रश्न का उत्तर देने में खुशी है। मैं डीबी से डेटा निकाल रहा हूं और इसे 30 सेकंड के समय अंतराल के साथ बैचों में सूची में भेज रहा हूं। रिकॉर्ड्स के प्रत्येक बैच के तहत, मुझे बस स्टोर करने के लिए अंतिम रिकॉर्ड की आवश्यकता है ताकि मैं अगले बैच को शुरू करने के लिए अंतिम रिकॉर्ड + 1 से शुरू होने वाला अगला बैच शुरू करूंगा। मुझे पता है कि मैं अब आपको भ्रमित कर रहा हूं लेकिन मैं संक्षेप में समझा सकता हूं। आपकी सलाह के लिए धन्यवाद, जब आवश्यक हो तो भविष्य में इसका उपयोग करेगा। – mannedear

उत्तर

3

ArrayList.subList विधि आपकी मौजूदा सूची को संशोधित किए बिना आपकी सूची का एक उपन्यास देता है।

तो आपको ऐसा करने की ज़रूरत है;

list = list.subList(list.size()-1, list.size()); 
7

list.subList मूल List द्वारा समर्थित एक नया List देता है।

आप इसे उपयोग करने के लिए आदेश में एक चर में लौट आए सूची स्टोर करने के लिए की जरूरत है:

List<String> subList = list.subList(list.size()-1, list.size()); 

subList.size() हो जाएगा 1. list यथावत रहेगा।

आप मूल List से पिछले तत्व है, लेकिन सभी को निकालना चाहते हैं, तो आप लिख सकते हैं:

list.subList(0, list.size()-1).clear(); 

अब मूल List सिर्फ 1 तत्व शामिल होंगे।

2

बदलते सूची आप इस्तेमाल कर सकते हैं बिना अभी पिछले रिकॉर्ड प्राप्त करने के लिए:

element = list.get(list.size()-1); 

यह किसी भी सूची, ArrayList कार्यान्वयन के लिए सबसे प्रभावी के लिए काम करेंगे।

संबंधित मुद्दे

 संबंधित मुद्दे