2010-09-19 6 views
19

में एक ऐरेलिस्ट में एक सरणी असाइन करना मैं सोच रहा था कि जावा में एक ऐरेलिस्ट को सरणी असाइन करना संभव है या नहीं।जावा

उत्तर

37

आप Arrays.asList() उपयोग कर सकते हैं:

Type[] anArray = ... 
ArrayList<Type> aList = new ArrayList<Type>(Arrays.asList(anArray)); 

या वैकल्पिक रूप से, Collections.addAll():

ArrayList<Type> aList = new ArrayList<Type>(); 
Collections.addAll(theList, anArray); 

नोट कि आप तकनीकी रूप से नहीं हैं एक सूची में एक सरणी असाइन करना (ठीक है, आप ऐसा नहीं कर सकते), लेकिन मुझे लगता है कि यह अंतिम परिणाम है जिसे आप ढूंढ रहे हैं।

+0

इस उत्तर मेरा तुलना में बेहतर है आगे आइटम जोड़ सकते हैं प्राप्त करने के लिए! –

+0

परिवर्तित करना चाहिए आपका '' गुम हो गया है। – missingfaktor

+0

@ गुम धन्यवाद, निश्चित – NullUserException

6

Arrays वर्ग में शामिल है एक asList विधि है जो आप के रूप में उपयोग कर सकते हैं इस प्रकार है:

String[] words = ...; 
List<String> wordList = Arrays.asList(words); 
+2

यह कुछ निजी प्रकार है कि सूची को लागू करता है इंटरफ़ेस द्वारा समझाया तार की एक निश्चित-आकार सूची देता है। @ NullUserException का जवाब सबसे अच्छा है यदि आपको java.util.ArrayList का उदाहरण चाहिए जो उत्परिवर्तनीय है। –

+0

रिचर्ड, बस यह जानना चाहता था कि उपरोक्त सूची निश्चित आकार क्यों बन रही है? क्या मैं अगली पंक्ति में एक ही सूची में एक और तत्व जोड़ नहीं सकता .. जैसे wordList.add (anotherStringElement); – peakit

+0

यह asist विधि का परिभाषित व्यवहार है। @NullUserException बताते हैं के रूप में आप के लिए एक ArrayList [ArrayList alist = नए ArrayList (Arrays.asList (शब्द)] आदेश एक ArrayList है कि आप करने के लिए। –

1

यदि आप आयात कर रहे हैं या आपके कोड में एक सरणी (प्रकार स्ट्रिंग) है और आपको इसे सरणीसूची (ऑफकोर्स स्ट्रिंग) में परिवर्तित करना है तो संग्रह का उपयोग बेहतर है। इस तरह:

String array1[] = getIntent().getExtras().getStringArray("key1"); or 
String array1[] = ... 
then 

List<String> allEds = new ArrayList<String>(); 
Collections.addAll(allEds, array1);