আমার স্ট্রিংয়ে, আমি কমা দ্বারা পৃথককৃত একটি নির্বিচার সংখ্যক শব্দ থাকতে পারি। আমি প্রতিটি শব্দ একটি অ্যারেলিস্টে যুক্ত করতে চেয়েছিলাম। যেমন:
String s = "a,b,c,d,e,.........";
আমার স্ট্রিংয়ে, আমি কমা দ্বারা পৃথককৃত একটি নির্বিচার সংখ্যক শব্দ থাকতে পারি। আমি প্রতিটি শব্দ একটি অ্যারেলিস্টে যুক্ত করতে চেয়েছিলাম। যেমন:
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
তার পরেও হতে পারে : পি
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("^\\[|]$", "");
","
এবং অন্যকে ", "
পৃথককারী হিসাবে ব্যবহার করেন , তাই আমি ফাংশনের .replaceAll(", ", ",")
আগে একটি যুক্ত করেছি split
।
বিকল্প 1 :
List<String> list = Arrays.asList("hello");
বিকল্প 2 :
List<String> list = new ArrayList<String>(Arrays.asList("hello"));
আমার মতে, অপশন 1 কারণ ভাল
asList
method পদ্ধতিটি একটি অ্যারেলিস্ট অবজেক্ট তৈরি করে এবং প্রদান করে।এখানে ডকুমেন্টেশন দেখুন
List<Character> word1 = new ArrayList<Character>(Arrays.asList(A[0].toCharArray()));
আমি একটি স্ট্রিং অ্যারের প্রথম স্ট্রিং পাওয়ার চেষ্টা করছি এবং সেই স্ট্রিংটিকে চরআরে এবং সেই চরআরে তালিকাতে রূপান্তরিত করবো <
জাভা 9-তে, List#of
যা অপরিবর্তনীয় তালিকা স্ট্যাটিক কারখানার পদ্ধতিগুলি ব্যবহার করে আরও সহজ হয়।
String s = "a,b,c,d,e,.........";
List<String> lst = List.of(s.split(","));
s.split("\\s*,\\s*")
অতিরিক্ত যত্নের জন্য যুক্ত করা যেতে পারে
ঠিক আছে আমি এখানে উত্তরগুলি প্রসারিত করব যেহেতু এখানে আসা অনেক লোকই একটি সাদা স্থানের মাধ্যমে স্ট্রিংটি বিভক্ত করতে চায় । এই তার কাজ হল কিভাবে:
List<String> List = new ArrayList<String>(Arrays.asList(s.split("\\s+")));
আপনি যদি আমদানি করছেন বা আপনার কোডে একটি অ্যারে (টাইপ স্ট্রিং) থাকে এবং আপনাকে এটিকে অ্যারেলিস্টে (অফকোর্স স্ট্রিং) রূপান্তর করতে হয় তবে সংগ্রহগুলির ব্যবহার আরও ভাল। এটার মত:
String array1[] = getIntent().getExtras().getStringArray("key1"); or String array1[] = ... then
List allEds = new ArrayList(); Collections.addAll(allEds, array1);
আপনি ব্যবহার করতে পারেন:
List<String> tokens = Arrays.stream(s.split("\\s+")).collect(Collectors.toList());
আপনার নিজের জিজ্ঞাসা করা উচিত যদি আপনার সত্যিকার অর্থে প্রথম স্থানে অ্যারেলিস্ট প্রয়োজন হয়। খুব প্রায়ই, আপনি অতিরিক্ত মানদণ্ডের উপর ভিত্তি করে তালিকাটি ফিল্টার করতে যাচ্ছেন, যার জন্য একটি স্ট্রিম নিখুঁত। আপনি একটি সেট করতে পারেন; আপনি অন্য রেগুলার এক্সপ্রেশন, ইত্যাদি জাভা 8 এই খুব দরকারী এক্সটেনশন উপলব্ধ মাধ্যমে তাদের ফিল্টার করতে, যেভাবে, যা কোনো কাজ করবে দ্বারা চাইতে পারেন CharSequence
: https://docs.oracle.com/javase/8/docs/api / জাভা / ইউটিলি / রেজেক্স / প্যাটার্ন এইচটিএমএল# স্প্লিটএস্ট্রিম- জাভা.লং.চ্যারসেকেন্স- । যেহেতু আপনার অ্যারে মোটেই প্রয়োজন নেই তাই এটি তৈরি করা এড়িয়ে চলুন:
// 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;
}
সহজে বোঝার মত এটি:
String s = "a,b,c,d,e";
String[] sArr = s.split(",");
List<String> sList = Arrays.asList(sArr);
এটি কোটলিনে জিসন ব্যবহার করছে
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])
আসুন একটি প্রশ্ন নেওয়া যাক: বিপরীত একটি স্ট্রিং। আমি স্ট্রিম () সংগ্রহ () সংগ্রহ করে এটি করব। তবে প্রথমে আমি স্ট্রিংটিকে একটি অ্যারেলিস্টে পরিবর্তন করব।
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>()
এটি কীভাবে ব্যবহৃত হবে তার উপর নির্ভর করে এটি অতিরিক্ত কাজ হতে পারে। (যেমন এটি আপনার উদাহরণে রয়েছে;)