मेरे पास बराबर आकार के दो ArrayList
एस हैं। सूची 1 में 10 नाम होते हैं और सूची 2 में उनके फोन नंबर होते हैं।दो ArrayLists को कैसे सम्मिलित करें?
मैं नाम और संख्या को ArrayList
में जोड़ना चाहता हूं। मैं यह कैसे करु?
मेरे पास बराबर आकार के दो ArrayList
एस हैं। सूची 1 में 10 नाम होते हैं और सूची 2 में उनके फोन नंबर होते हैं।दो ArrayLists को कैसे सम्मिलित करें?
मैं नाम और संख्या को ArrayList
में जोड़ना चाहता हूं। मैं यह कैसे करु?
आप को .addAll()
उपयोग कर सकते हैं दूसरी सूची के तत्वों को पहले जोड़ें:
array1.addAll(array2);
संपादित करें: उपरोक्त आपके स्पष्टीकरण के आधार पर ("मैं नई ऐरेलिस्ट में एक स्ट्रिंग चाहता हूं जिसमें नाम और संख्या दोनों हों। "), आप पहली सूची के माध्यम से लूप करना चाहते हैं और यह करने के लिए दूसरी सूची से आइटम संलग्न करेंगे
कुछ इस तरह:।
array1 : ["a", "b", "c"]
array2 : ["1", "2", "3"]
:
int length = array1.size();
if (length != array2.size()) { // Too many names, or too many numbers
// Fail
}
ArrayList<String> array3 = new ArrayList<String>(length); // Make a new list
for (int i = 0; i < length; i++) { // Loop through every name/phone number combo
array3.add(array1.get(i) + " " + array2.get(i)); // Concat the two, and add it
}
यदि आप में डाल
आप मिल जाएगा:
array3 : ["a 1", "b 2", "c 3"]
आप 'array3' का आकार निर्दिष्ट करना चाहते हैं। यानी 'नया ऐरेलिस्ट
के रूप में दूसरे ArrayList करने के लिए एक ArrayList जोड़ें:
Arraylist1.addAll(Arraylist2);
संपादित करें: आप दो से नए ArrayList बनाने के लिए मौजूदा ArrayList तो के रूप में क्या चाहते हैं:
ArrayList<String> arraylist3=new ArrayList<String>();
arraylist3.addAll(Arraylist1); // add first arraylist
arraylist3.addAll(Arraylist2); // add Second arraylist
नामों के बाद संख्याएं प्रदर्शित की जा रही हैं, मैं एक-दूसरे के बगल में नाम और संख्या चाहता हूं। क्या तुम कृप्या मेरी मदद कर सकते हो। – Anirudh
@anirudhmaddy: ठीक है आप एक ही इंडेक्स पर नई सरणी सूची में दोनों नाम + संख्या चाहते हैं? –
ArrayList<String> resultList = new ArrayList<String>();
resultList.addAll(arrayList1);
resultList.addAll(arrayList2);
एक ArrayList1 डेटा के लिए जोड़,
mArrayList1.add(data);
और दूसरा ArrayList2 अन्य डेटा जोड़ने के लिए,
mArrayList2.addAll(mArrayList1);
var arr3 = new arraylist();
for(int i=0, j=0, k=0; i<arr1.size()+arr2.size(); i++){
if(i&1)
arr3.add(arr1[j++]);
else
arr3.add(arr2[k++]);
}
के रूप में आप कहते हैं, "नाम और नंबर एक दूसरे को बगल में"। यहां कार्यान्वयन
List<Object> mergedList = new ConcatList<>(list1, list2);
:
, तो आप इस तरह sth उपयोग कर सकते हैं
public class ConcatList<E> extends AbstractList<E> {
private final List<E> list1;
private final List<E> list2;
public ConcatList(final List<E> list1, final List<E> list2) {
this.list1 = list1;
this.list2 = list2;
}
@Override
public E get(final int index) {
return getList(index).get(getListIndex(index));
}
@Override
public E set(final int index, final E element) {
return getList(index).set(getListIndex(index), element);
}
@Override
public void add(final int index, final E element) {
getList(index).add(getListIndex(index), element);
}
@Override
public E remove(final int index) {
return getList(index).remove(getListIndex(index));
}
@Override
public int size() {
return list1.size() + list2.size();
}
@Override
public void clear() {
list1.clear();
list2.clear();
}
private int getListIndex(final int index) {
final int size1 = list1.size();
return index >= size1 ? index - size1 : index;
}
private List<E> getList(final int index) {
return index >= list1.size() ? list2 : list1;
}
}
वास्तव में क्या आप concat द्वारा मतलब है? एक नई सूची बनाएं जिसमें 10 तत्व हैं जिनमें नाम और संख्या है? – Henry
मैं नई ऐरेलिस्ट में एक स्ट्रिंग चाहता हूं जिसमें नाम और संख्या दोनों हों। – Anirudh