दिलचस्प पोस्ट
कोलेत्ज़ अनुमान के परीक्षण के लिए मेरे हाथ से लिखित विधानसभा की तुलना में यह सी ++ कोड अधिक तेज़ क्यों है? बाइटरी फाइलों के बिना गिटग्नॉर "सावधानी: अनंतिम हेडर दिखाए जाते हैं" में क्रोम डिबगर एंड्रॉइड सूचीदृश्य पंक्ति हटाने एनीमेशन क्या WPF डाटाबेसिंग मार्शल UI थ्रेड में बदलता है? एक कस्टम तुलनित्र के साथ c ++ में प्राथमिकता_एक्यू को घोषित करता है GWT शेड्यूलर का उपयोग करना तीन। जेएस – दूसरे के ऊपर ज्यामिति सी # से सी ++ की तुलना में कितना तेज़ है? शामिल करें। एंड्रॉइड स्टूडियो में एपीके में पुस्तकालय फ़ंक्शन में पास किए गए सूचक C ++ को बदलना नहीं है रजिस्ट्री को संपादित करने के लिए C ++ का उपयोग करना सी # में JSON को डेटासेट कन्वर्ट मैं Firebase पर एक कस्टम उपडोमेन कैसे बना सकता हूं? नोड। जेएसएस एक ही पठनीय धारा को एकाधिक (लिखने योग्य) लक्ष्य में पिपिंग कर रहा है

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

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

Solutions Collecting From Web of "जावा में '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); }