[java] कॉमा से अलग स्ट्रिंग को ArrayList में कैसे परिवर्तित करें?


10 Answers

Arrays.asList सरणी द्वारा समर्थित एक निश्चित आकार की List देता है। यदि आप सामान्य म्यूटेबल java.util.ArrayList चाहते हैं तो आपको यह करने की ज़रूरत है:

List<String> list = new ArrayList<String>(Arrays.asList(string.split(" , ")));

या, अमरू का उपयोग कर:

List<String> list = Lists.newArrayList(Splitter.on(" , ").split(string));

एक Splitter का उपयोग करके आप स्ट्रिंग को विभाजित करने में और अधिक लचीलापन देता है और आपको उदाहरण देता है, उदाहरण के लिए, परिणामों में खाली तार छोड़ें और परिणामों को ट्रिम करें। String.split तुलना में इसमें कम अजीब व्यवहार भी है और साथ ही आपको रेगेक्स द्वारा विभाजित करने की आवश्यकता नहीं है (यह केवल एक विकल्प है)।

Question

क्या जावा में कोई अंतर्निहित विधि है जो हमें अल्पविराम से अलग स्ट्रिंग को कुछ कंटेनर (जैसे सरणी, सूची या वेक्टर) में परिवर्तित करने की अनुमति देती है? या मुझे इसके लिए कस्टम कोड लिखने की ज़रूरत है?

String commaSeparated = "item1 , item2 , item3";
ArrayList<String> items = //method that converts above string into list??



आप apache lib से स्ट्रिंग उपयोग कर सकते हैं।

उदाहरण

StringUtils.join(yourStirng, ',');



Collections का उपयोग कर एक उदाहरण।

import java.util.Collections;
 ...
String commaSeparated = "item1 , item2 , item3";
ArrayList<String> items = new ArrayList<>();
Collections.addAll(items, commaSeparated.split("\\s*,\\s*"));
 ...



List<String> items = Arrays.asList(commaSeparated.split(","));

यह आपके लिए काम करना चाहिए।




आप स्ट्रिंग को विभाजित करने के लिए गुवा का उपयोग कर सकते हैं, और इसे एक ऐरेलिस्ट में परिवर्तित कर सकते हैं। यह एक खाली स्ट्रिंग के साथ भी काम करता है, और एक खाली सूची देता है।

import com.google.common.base.Splitter;
import com.google.common.collect.Lists;

String commaSeparated = "item1 , item2 , item3";

// Split string into list, trimming each item and removing empty items
ArrayList<String> list = Lists.newArrayList(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(commaSeparated));
System.out.println(list);

list.add("another item");
System.out.println(list);

निम्नलिखित आउटपुट:

[item1, item2, item3]
[item1, item2, item3, another item]



List commaseperated = new ArrayList();
String mylist = "item1 , item2 , item3";
mylist = Arrays.asList(myStr.trim().split(" , "));

// enter code here



आप लिस्ट और विभाजन के रूप में गठबंधन कर सकते हैं

Arrays.asList(CommaSeparated.split("\\s*,\\s*"))



ग्रोवी में, आप टोकननाइज (कैरेक्टर टोकन) विधि का उपयोग कर सकते हैं:

list = str.tokenize(',')



जावा 8 में अलग कॉमा के रूप में स्ट्रिंग में स्ट्रिंग को कन्वर्ट करें

listOfString ऑब्जेक्ट में ["ए", "बी", "सी", "डी"] तत्व-

listOfString.stream().map(ele->"'"+ele+"'").collect(Collectors.joining(","))

आउटपुट है: - 'ए', 'बी', 'सी', 'डी'

और जावा 8 में सूची में स्ट्रिंग्स ऐरे कनवर्ट करें

    String string[] ={"A","B","C","D"};
    List<String> listOfString = Stream.of(string).collect(Collectors.toList());



List<String> items = Arrays.asList(s.split("[,\\s]+"));



CSV को ArrayList में परिवर्तित करने के लिए यहां एक और है:

String str="string,with,comma";
ArrayList aList= new ArrayList(Arrays.asList(str.split(",")));
for(int i=0;i<aList.size();i++)
{
    System.out.println(" -->"+aList.get(i));
}

आपको प्रिंट करता है

-> स्ट्रिंग
- साथ>
-> अल्पविराम




Related