java - जावा में सरणी सूची में कनवर्ट करें




android arrays (8)

ArrayList के लिए निम्नलिखित कार्य करता है:

ArrayList<Foo> list = new ArrayList<Foo>();

//... add values

Foo[] resultArray = new Foo[list.size()];
resultArray = list.toArray(resultArray);

मैं जावा में एक List में एक Array को कैसे परिवर्तित कर सकता हूं?

नीचे दिए गए कोड को चेक करें:

ArrayList<Tienda> tiendas;
List<Tienda> tiendasList; 
tiendas = new ArrayList<Tienda>();

Resources res = this.getBaseContext().getResources();
XMLParser saxparser =  new XMLParser(marca,res);

tiendasList = saxparser.parse(marca,res);
tiendas = tiendasList.toArray();

this.adaptador = new adaptadorMarca(this, R.layout.filamarca, tiendas);
setListAdapter(this.adaptador);  

मुझे tiendas के मानों के साथ सरणी tiendas populate करने की जरूरत है।


आप निम्नानुसार एर्रे () एपीआई का उपयोग कर सकते हैं,

ArrayList<String> stringList = new ArrayList<String>();
stringList.add("ListItem1");
stringList.add("ListItem2");
String[] stringArray = new String[stringList.size()];
stringArray = stringList.toArray(stringList);

सरणी से मूल्य हैं,

for(String value : stringList)
{
    System.out.println(value);
}

इसे इस्तेमाल करे:

List list = new ArrayList();
list.add("Apple");
list.add("Banana");

Object[] ol = list.toArray();

कोई एक:

Foo[] array = list.toArray(new Foo[list.size()]);

या:

Foo[] array = new Foo[list.size()];
list.toArray(array); // fill the array

ध्यान दें कि यह केवल संदर्भ प्रकारों के सरणी के लिए काम करता है। आदिम प्रकार के सरणी के लिए, पारंपरिक तरीके का उपयोग करें:

List<Integer> list = ...;
int[] array = new int[list.size()];
for(int i = 0; i < list.size(); i++) array[i] = list.get(i);

मुझे लगता है कि यह सबसे आसान तरीका है:

Foo[] array = list.toArray(new Foo[0]);

मैं इस कोड स्निपेट में आया जो इसे हल करता है।

//Creating a sample ArrayList 
List<Long> list = new ArrayList<Long>();

//Adding some long type values
list.add(100l);
list.add(200l);
list.add(300l);

//Converting the ArrayList to a Long
Long[] array = (Long[]) list.toArray(new Long[list.size()]);

//Printing the results
System.out.println(array[0] + " " + array[1] + " " + array[2]);

रूपांतरण निम्नानुसार काम करता है:

  1. यह मूल सूची के आकार के साथ एक नई लांग सरणी बनाता है
  2. यह मूल निर्मित ऐरेलिस्ट को नए बनाए गए एक का उपयोग करके एक सरणी में परिवर्तित करता है
  3. यह उस सरणी को एक लंबी सरणी (लांग []) में रखता है, जिसे मैंने उचित रूप से 'सरणी' नाम दिया है

यह काम करता है। एक प्रकार का।

public static Object[] toArray(List<?> a) {
    Object[] arr = new Object[a.size()];
    for (int i = 0; i < a.size(); i++)
        arr[i] = a.get(i);
    return arr;
}

फिर मुख्य विधि।

public static void main(String[] args) {
    List<String> list = new ArrayList<String>() {{
        add("hello");
        add("world");
    }};
    Object[] arr = toArray(list);
    System.out.println(arr[0]);
}

tiendas = new ArrayList<Tienda>(tiendasList);

सभी संग्रह कार्यान्वयन में एक ओवरलोडेड कन्स्ट्रक्टर होता है जो एक और संग्रह लेता है (टेम्पलेट <T> मिलान के साथ)। नया उदाहरण उत्तीर्ण संग्रह के साथ तत्काल है।





arraylist