मेरे स्ट्रिंग में, मैं एक अनियंत्रित शब्द हो सकता है जो अल्पविराम से अलग हो। मैं चाहता था कि प्रत्येक शब्द एक ArrayList में जोड़ा जाए। उदाहरण के लिए:
String s = "a,b,c,d,e,.........";
मेरे स्ट्रिंग में, मैं एक अनियंत्रित शब्द हो सकता है जो अल्पविराम से अलग हो। मैं चाहता था कि प्रत्येक शब्द एक ArrayList में जोड़ा जाए। उदाहरण के लिए:
String s = "a,b,c,d,e,.........";
जवाबों:
कुछ ऐसा आजमाएं
List<String> myList = new ArrayList<String>(Arrays.asList(s.split(",")));
डेमो:
String s = "lorem,ipsum,dolor,sit,amet";
List<String> myList = new ArrayList<String>(Arrays.asList(s.split(",")));
System.out.println(myList); // prints [lorem, ipsum, dolor, sit, amet]
split
उसके बाद भी हो सकता है : P
Arrays.toString()
इसे प्रिंट करने के लिए उपयोग करना होगा, लेकिन हाँ।
String s1="[a,b,c,d]";
String replace = s1.replace("[","");
System.out.println(replace);
String replace1 = replace.replace("]","");
System.out.println(replace1);
List<String> myList = new ArrayList<String>(Arrays.asList(replace1.split(",")));
System.out.println(myList.toString());
replace = s1.replaceAll("^\\[|]$", "");
विकल्प 1 :
List<String> list = Arrays.asList("hello");
विकल्प 2 :
List<String> list = new ArrayList<String>(Arrays.asList("hello"));
मेरी राय में, Option1 बेहतर है क्योंकि
asList
विधि से कम कर सकते हैं और ArrayList ऑब्जेक्ट बनाता है और देता है।कृपया यहाँ प्रलेखन देखें
List<Character> word1 = new ArrayList<Character>(Arrays.asList(A[0].toCharArray()));
मैं क्यों नहीं कर रहा हूँ मैं एक स्ट्रिंग सरणी का पहला स्ट्रिंग प्राप्त करने की कोशिश कर रहा हूं, और उस स्ट्रिंग को charArray में और उस charArray को सूची में बदलने के लिए <अक्षर>
जावा 9 में, का उपयोग करते हुए List#of
, जो एक अपरिवर्तनीय सूची स्टेटिक फैक्टरी विधियां हैं, अधिक सरल हो जाती हैं।
String s = "a,b,c,d,e,.........";
List<String> lst = List.of(s.split(","));
s.split("\\s*,\\s*")
अतिरिक्त देखभाल के लिए जोड़ा जा सकता है
यदि आप आयात कर रहे हैं या आपके पास अपने कोड में एक सरणी (प्रकार का स्ट्रिंग) है और आपको इसे सरणीलिस्ट (ऑफकोर्स स्ट्रिंग) में बदलना है तो संग्रह का उपयोग बेहतर है। इस तरह:
String array1[] = getIntent().getExtras().getStringArray("key1"); or String array1[] = ... then
List allEds = new ArrayList(); Collections.addAll(allEds, array1);
ठीक है, मैं यहाँ उत्तर पर विस्तार करने जा रहा हूँ क्योंकि यहाँ आने वाले बहुत से लोग एक व्हाट्सएप द्वारा स्ट्रिंग को विभाजित करना चाहते हैं । यह कैसे किया जाता है:
List<String> List = new ArrayList<String>(Arrays.asList(s.split("\\s+")));
आप उपयोग कर सकते हैं:
List<String> tokens = Arrays.stream(s.split("\\s+")).collect(Collectors.toList());
आपको अपने आप से पूछना चाहिए कि क्या आपको वास्तव में पहले स्थान पर एरियरिस्ट की आवश्यकता है। बहुत बार, आप अतिरिक्त मानदंडों के आधार पर सूची को फ़िल्टर करने जा रहे हैं, जिसके लिए एक स्ट्रीम एकदम सही है। आप एक सेट चाहते हो सकता है; आप उन्हें एक अन्य नियमित अभिव्यक्ति के माध्यम से फ़िल्टर करना चाह सकते हैं, आदि। जावा 8 इस तरह से बहुत उपयोगी विस्तार प्रदान करता है, जो किसी भी पर काम करेगा CharSequence
: https://docs.oracle.com/javase/8/docs/api /java/util/regex/Pattern.html#splitAsStream-java.lang.CharSequence- । चूँकि आपको सरणी की बिल्कुल आवश्यकता नहीं है, इसलिए इसे बनाने से बचें:
// This will presumably be a static final field somewhere.
Pattern splitter = Pattern.compile("\\s+");
// ...
String untokenized = reader.readLine();
Stream<String> tokens = splitter.splitAsStream(untokenized);
यदि आप एक स्ट्रिंग को ArrayList में बदलना चाहते हैं, तो यह कोशिश करें:
public ArrayList<Character> convertStringToArraylist(String str) {
ArrayList<Character> charList = new ArrayList<Character>();
for(int i = 0; i<str.length();i++){
charList.add(str.charAt(i));
}
return charList;
}
लेकिन मुझे आपके उदाहरण में एक स्ट्रिंग सरणी दिखाई देती है, इसलिए यदि आप एक स्ट्रिंग सरणी को ArrayList में उपयोग करना चाहते हैं, तो इसका उपयोग करें:
public static ArrayList<String> convertStringArrayToArraylist(String[] strArr){
ArrayList<String> stringList = new ArrayList<String>();
for (String s : strArr) {
stringList.add(s);
}
return stringList;
}
यह Kotlin में Gson का उपयोग कर रहा है
val listString = "[uno,dos,tres,cuatro,cinco]"
val gson = Gson()
val lista = gson.fromJson(listString , Array<String>::class.java).toList()
Log.e("GSON", lista[0])
चलो एक प्रश्न लेते हैं: रिवर्स अ स्ट्रिंग। मैं धारा () का उपयोग करके इसे इकट्ठा करूंगा ()। लेकिन पहले मैं स्ट्रिंग को एक ArrayList में बदल दूंगा।
public class StringReverse1 {
public static void main(String[] args) {
String a = "Gini Gina Proti";
List<String> list = new ArrayList<String>(Arrays.asList(a.split("")));
list.stream()
.collect(Collectors.toCollection( LinkedList :: new ))
.descendingIterator()
.forEachRemaining(System.out::println);
}}
/*
The output :
i
t
o
r
P
a
n
i
G
i
n
i
G
*/
यदि आप अमरूद का उपयोग कर रहे हैं (और आपको होना चाहिए, प्रभावी जावा आइटम # 15 देखें ):
ImmutableList<String> list = ImmutableList.copyOf(s.split(","));
new ArrayList<String>()
उपयोग कैसे किया जाता है, इसके आधार पर निरर्थक हो सकता है। (जैसा कि यह आपके उदाहरण में है;)