2012-04-27 8 views
13

तो मुझे पता है कि एक लिंक्ड सूची है और प्रविष्टियों से इनपुट प्रविष्टियों के लिए विधि जोड़ने के उपयोग करने के लिए। हालांकि, मैं प्रविष्टियों द्वारा प्रविष्टियां जोड़ना नहीं चाहता हूं। सूची में शुरुआती मूल्यों के साथ एक लिंक्डलिस्ट घोषित करने का कोई तरीका है?मैं इसे में प्रविष्टियों/मूल्यों के साथ एक LinkedList कैसे प्रारंभ कर सकते हैं?

उदाहरण के लिए, अगर मैं 1.0 & 2.0 सूची में करना चाहते हैं कुछ मैं एक पंक्ति में कुछ नहीं कर सकता है? कुछ की तरह:

List<Double> temp1 = new LinkedList<Double>(Arrays.asList(1.0, 2.0)); 
+0

निर्भर करता है कि तुम क्या साथ क्या करना चाहते "प्रविष्टियों," हालांकि यह एक बेहतर विचार या तो एक का उपयोग हो सकता है 'मानचित्र' या कुंजी और मानों के लिए अलग सूचियां हैं। एक सूची में एक दूसरे के बगल में, उन्हें एक साथ रखकर, वास्तव में अजीब है। –

+0

@LouisWasserman: नहीं लगती ओपी की तरह नक्शा प्रविष्टियों के अर्थ में प्रविष्टियों चाहता है ... बस सूची में तत्वों। – ColinD

+0

हाँ, यही कारण है कि मैं दो सूचियों में बंटवारे का सुझाव दिया है। निश्चित रूप से यदि आप सूची में तत्वों के "संबंधित" जोड़े जोड़ रहे हैं, तो उन्हें किसी ऑब्जेक्ट में लपेटने के लिए और अधिक समझदारी होगी, या उन्हें दो सूचियों में विभाजित करें। निश्चित रूप से ओपी के मूल प्रश्न का समाधान है "मैं कुछ विशिष्ट तत्वों के साथ एक सूची कैसे प्रारंभ कर सकता हूं," लेकिन शेष प्रश्न ऐसा लगता है कि ओपी की वास्तविक समस्या का सबसे अच्छा तरीका शायद नहीं है। –

उत्तर

43

आपको लगता है कि इस तरह से कर सकते हैं एक सूची जिसमें निर्दिष्ट संग्रह के तत्व होते हैं, क्रम में वे संग्रह के पुनरावर्तक द्वारा लौटाए जाते हैं। '

इसलिए आप LinkedList घोषित करने के लिए इस कन्स्ट्रक्टर का उपयोग कर सकते हैं और घोषणा के समय मूल्यों के साथ प्रारंभ कर सकते हैं। आप किसी भी Collection<Double> प्रकार का उदाहरण प्रदान कर सकते हैं।

आप केवल मानों का एक सेट नहीं बल्कि एक Collection वस्तु है, तो आप java.util.Arrays वर्ग जो स्थिर asList() विधि है जो एक List और वापसी के लिए प्रदान मूल्यों का वह समूह में परिवर्तित कर देंगे है उपयोग कर सकते हैं। आप List<Double> का एक उदाहरण की जरूरत है तो आप एक दशमलव स्थान के साथ मूल्यों प्रदान करने के लिए है, तो

List<Double> list = new LinkedList<Double>(Arrays.asList(1.2,1.3,3.2)); 

, अन्यथा आप मूल्यों के साथ List<Integer> का एक उदाहरण मिल जाएगा: नीचे दिए गए उदाहरण देखें।

8

LinkedList निम्नलिखित निर्माता है, जो प्रकार Collection की एक पैरामीटर स्वीकार करता है:

public LinkedList(Collection<? extends E> c) 

यह निर्माता 'Constructs

List<Double> temp1 = new LinkedList<Double>(1,2); 
3

तुम भी

static <T> LinkedList<T> createLinkedList(T...elements) { 
    LinkedList<T> newList = new LinkedList<T>(); 
    for (T el : elements) { 
     newList.add(el); 
    } 

    return newList; 
} 

की तरह विधि बना सकते हैं और साथ इसका इस्तेमाल कर सकते हैं:

 LinkedList<Integer> a = createLinkedList(1, 2, 3); 

     for (Integer item : a) { 
      System.out.println(item); 
     } 
संबंधित मुद्दे