Pertanyaan Bagaimana cara mengubah String menjadi ArrayList?


Dalam String saya, saya bisa memiliki sejumlah kata acak yang dipisahkan koma. Saya ingin setiap kata ditambahkan ke ArrayList. Misalnya.:

String s = "a,b,c,d,e,.........";

75
2017-09-08 12:16


asal


Jawaban:


Coba sesuatu seperti

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

Demo:

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]

Pos ini telah ditulis ulang sebagai artikel sini.


194
2017-09-08 12:18



 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());

26
2017-09-08 12:28



Di Java 9, menggunakan List#of


6
2017-10-07 14:12



Jika Anda ingin mengonversi tali menjadi ArrayList coba ini:

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;
}

Tetapi saya melihat susunan string dalam contoh Anda, jadi jika Anda ingin mengonversi deretan string ke ArrayList Gunakan ini:

public static ArrayList<String> convertStringArrayToArraylist(String[] strArr){
    ArrayList<String> stringList = new ArrayList<String>();
    for (String s : strArr) {
        stringList.add(s);
    }
    return stringList;
}

2
2017-09-08 12:30



Jika Anda mengimpor atau Anda memiliki array (tipe string) dalam kode Anda dan Anda harus mengubahnya menjadi arraylist (string offcourse) maka penggunaan koleksi lebih baik. seperti ini:

String array1[] = getIntent().getExtras().getStringArray("key1"); or String array1[] = ... then

List allEds = new ArrayList(); Collections.addAll(allEds, array1);

2
2017-12-04 12:24



Pilihan 1:

List<String> list = Arrays.asList("hello");

Pilihan 2:

List<String> list = new ArrayList<String>(Arrays.asList("hello"));

Menurut saya, Option1 lebih baik karena

  1. kita dapat mengurangi jumlah objek ArrayList yang dibuat dari 2 ke 1. asList metode membuat dan mengembalikan Objek ArrayList.
  2. kinerjanya jauh lebih baik (tetapi mengembalikan daftar ukuran tetap).

Silakan lihat dokumentasi sini


2
2018-05-08 16:42



Ok saya akan memperluas jawaban di sini karena banyak orang yang datang ke sini ingin membagi string dengan a ruang putih. Beginilah caranya:

List<String> List = new ArrayList<String>(Arrays.asList(s.split("\\s+")));

1
2018-06-26 11:04