java - जावा में 'ArrayList<String> को' स्ट्रिंग[] 'में कनवर्ट करना




arrays collections (9)

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


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

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

आप 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.stream().toArray(String[]::new);

जावा 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()));
  }
}

यह काफी है:

int[] d = new int[list.size()];

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

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

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


List <String> list = ...
String[] array = new String[list.size()];
int i=0;
for(String s: list){
  array[i++] = s;
}

private String[] prepareDeliveryArray(List<DeliveryServiceModel> deliveryServices) {
    String[] delivery = new String[deliveryServices.size()];
    for (int i = 0; i < deliveryServices.size(); i++) {
        delivery[i] = deliveryServices.get(i).getName();
    }
    return delivery;
}






collections