2011-12-08 8 views
5

में ArrayList कनवर्ट करें क्या कोई ऐरेलेलिस्ट को परिवर्तित करने का एक आसान तरीका है जिसमें केवल स्ट्रिंग में वर्ण हैं? तो कहते हैं कि हम एक स्ट्रिंग

ArrayList<Character> arrayListChar = new ArrayList<Character>(); 
arrayListChar.add(a); 
arrayListChar.add(b); 
arrayListChar.add(c); 

तो सरणी सूची ए, बी, और सी में शामिल किया है। आदर्श रूप में मैं जो करना चाहता हूं वह उस स्ट्रिंग "एबीसी" में बदल जाता है।

+1

प्रश्न का संभावित डुप्लिकेट: http://stackoverflow.com/q/6324826/601409 – EkcenierK

+0

यहां तक ​​कि बेहतर उत्तर यहां दिए गए थे: http://stackoverflow.com/questions/523871/best-way-to-concatenate-list -फ-स्ट्रिंग-ऑब्जेक्ट्स स्ट्रिंग्स की कॉन्सटेनेटिंग सूची के बारे में है, लेकिन करीब है। – jFrenetic

उत्तर

0

आप इसे toString विधि है ओवरराइड और String स्वरूपण उसमें लागू कर सकते हैं।

3
Iterator<Character> it = arrayListChar.iterator(); 
StringBuilder sb = new StringBuilder(); 

while(it.hasNext()) { 
    sb.append(it.next()); 
} 

System.out.println(sb.toString()); 
3

आप Apache Common Lang's स्ट्रिंगयूल्ट्स क्लास का उपयोग कर सकते हैं। इसमें join() फ़ंक्शन है जैसे आप PHP में पाते हैं।

तो कोड:

StringUtils.join(arrayListChar, "") 

उत्पन्न होगा:

abc 
0

ArrayList के अवहेलना toString विधि या तो यह है कि आप पुराने ArrayList toString (उपयोग कर सकते हैं बेहतर ArrayList वर्ग का विस्तार करने के) कहीं और कोड

0
String s = ""; 
    for(Character i : arrayListChar) 
      s += i; 

संपादित करें - जैसा कि पहले से बताया गया है, आपको चाहिए केवल इस तरह के कोड का उपयोग करें यदि स्ट्रिंग्स को जोड़ने के लिए स्ट्रिंग की संख्या छोटी है।

+0

स्ट्रिंग अपरिवर्तनीय हैं, आप प्रत्येक concatenation के लिए एक नई स्ट्रिंग बना देंगे। स्मृति का बहुत बुरा उपयोग। इसके बजाय एक स्ट्रिंगबिल्डर का उपयोग करने का प्रयास करें। – Tudor

+0

हाँ, आप बिल्कुल सही हैं। धन्यवाद – Wozza

1
int size = list.size(); 
    char[] chars = new char[size]; 
    for (int i = 0; i < size; i++) { 
     if (list.size() != size) { 
      throw new ConcurrentModificationException(); 
     } 
     chars[i] = list.get(i); 
    } 
    String s = new String(chars); 
0

regex जादू का उपयोग करना:

String result = list.toString().replaceAll(", |\\[|\\]", ""); 

सूची की स्ट्रिंग प्रतिनिधित्व है, जो

[a, b, c] 

है जाओ और फिर तार "[", "]", and ", " को हटा दें।