दिलचस्प पोस्ट
जेम्नेक्स के साथ LambdaConversionException: JVM बग? `Enable_shared_from_this` की उपयोगिता क्या है? पहली बार पैनल को एक फ्रेम में क्यों गायब हो जाता है? मैक ओएस एक्स के तहत अपाचे 2 साइट फ़ाइलों / फ़ोल्डरों के लिए सही मालिक / समूह / अनुमतियाँ? क्यों WebRTC के लिए सिग्नलिंग सर्वर की आवश्यकता है? जावा त्रुटि: केवल एक प्रकार का आयात किया जा सकता है XYZ एक पैकेज को हल करता है स्टैकलेस भाषा कैसे काम करती है? पायथन प्रगति पथ – अपरेंटिस से गुरु तक 2 डी बिंदु सेट में छेद खोजना? जांचें कि एक सरणी में हर तत्व दूसरे एरे में है या नहीं कोडिंग मानकों के एक सेट के खिलाफ सी / सी ++ स्रोत कोड की जांच करने के लिए एक नि: शुल्क उपकरण? Postgresql में MySQL के आदेश द्वारा फ़ील्ड () का अनुकरण करना जावास्क्रिप्ट में डुप्लिकेट युक्त एक सरणी से विशिष्ट मानों की सरणी कैसे प्राप्त करें? HTML5 फ़ॉर्म तत्वों की मान्यता अक्षम करें एक jQuery अजाक्स कॉल के बाद एक रीडायरेक्ट अनुरोध का प्रबंधन कैसे करें

जावा में 'ArrayList <String> से' स्ट्रिंग 'परिवर्तित करना

मैं जावा में String[] सरणी में एक ArrayList<String> ऑब्जेक्ट कैसे परिवर्तित कर सकता हूं?

वेब के समाधान से एकत्रित समाधान "जावा में 'ArrayList <String> से' स्ट्रिंग 'परिवर्तित करना"

 List<String> list = ..; String[] array = list.toArray(new String[0]); 

उदाहरण के लिए:

 List<String> list = new ArrayList<String>(); //add some stuff list.add("android"); list.add("apple"); String[] stringArray = list.toArray(new String[0]); 

कोई तर्क पारित करने के बिना toArray() विधि रिटर्न Object[] तो आपको एक सरणी को एक तर्क के रूप में पास करना होगा, जो सूची से डेटा से भरा होगा, और वापस लौटेगा। आप एक खाली सारणी भी पास कर सकते हैं, लेकिन आप इच्छित आकार के साथ एक सरणी भी पार कर सकते हैं।

महत्वपूर्ण अद्यतन : मूलतः ऊपर दिए गए कोड को new String[list.size()] इस्तेमाल किया गया था। हालांकि, इस ब्लॉग पोस्ट से पता चलता है कि जेवीएम ऑप्टिमाइजेशन के कारण, new String[0] का उपयोग अब बेहतर है।

जावा 8 में एक विकल्प:

 String[] strings = list.stream().toArray(String[]::new); 
 ArrayList<String> arrayList = new ArrayList<String>(); Object[] objectList = arrayList.toArray(); String[] stringArray = Arrays.copyOf(objectList,objectList.length,String[].class); 

CopyOf का उपयोग करके, सरणियों को सरणी सूची में भी किया जा सकता है

आप List लिए toArray() विधि का उपयोग कर सकते हैं:

 ArrayList<String> list = new ArrayList<String>(); list.add("apple"); list.add("banana"); String[] array = list.toArray(new String[list.size()]); 

या आप तत्वों को मैन्युअल रूप से एक सरणी में जोड़ सकते हैं:

 ArrayList<String> list = new ArrayList<String>(); list.add("apple"); list.add("banana"); String[] array = new String[list.size()]; for (int i = 0; i < list.size(); i++) { array[i] = list.get(i); } 

उम्मीद है की यह मदद करेगा!

जावा 8 में:

 String[] strings = list.parallelStream().toArray(String[]::new); 

यदि डेटा के कुछ अतिरिक्त हेरफेर वांछित है, जिसके लिए उपयोगकर्ता एक समारोह चाहता है, तो यह दृष्टिकोण सही नहीं है (जैसा कि तत्व को दूसरे पैरामीटर के रूप में उत्तीर्ण करना आवश्यक है), लेकिन काम करता है:

आयात करें java.util.ArrayList; आयात करें java.lang.reflect.Array;

 public class Test { public static void main(String[] args) { ArrayList<Integer> al = new ArrayList<>(); al.add(1); al.add(2); Integer[] arr = convert(al, Integer.class); for (int i=0; i<arr.length; i++) System.out.println(arr[i]); } public static <T> T[] convert(ArrayList<T> al, Class clazz) { return (T[]) al.toArray((T[])Array.newInstance(clazz, al.size())); } } 

String [] लिए किसी भी List<Type> को गुप्त करने के लिए जेनेरिक समाधान:

 public static <T> String[] listToArray(List<T> list){ String [] array = new String[list.size()]; for (int i =0 ; i<array.length;i++) array[i] = list.get(i).toString(); return array; } 

नोट आपको override toString() विधि को override toString() करना होगा

 class Car{ private String name; public Car(String name){ this.name = name; } public String toString(){ return name; } } final List<Car> carList = new ArrayList<Car>(); carList.add(new Car("BMW")) carList.add(new Car("Mercedes")) carList.add(new Car("Skoda")) final String[] carArray = listToArray(carList); 
 List <String> list = ... String[] array = new String[list.size()]; int i=0; for(String s: list){ array[i++] = s; } 

आप Iterator<String> का उपयोग करने के लिए ArrayList<String> के तत्वों को पुनरावृति कर सकते हैं

कोड:

  ArrayList<String> list = new ArrayList<>(); String[] array = new String[list.size()]; int i = 0; for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); i++) { array[i] = iterator.next(); } 

अब आप किसी भी लूप का उपयोग करके String[] तत्वों को पुनः प्राप्त कर सकते हैं।

ArrayList के 0bject[] toArray() विधि का उपयोग करके आप 0bject[] प्राप्त कर सकते हैं 0bject[] उस Object[] कास्ट करें Object[] String[] यहां नमूना कोड:

 ArrayList<String> arr_List=new ArrayList<String>(); Object[] str_Arr=arr_List.toArray(); 

यह काफी है:

 int[] d = new int[list.size()]; for (int i = 0; i < list.size(); i++) { d[i] = list.get(i); }