How to convert a String into an ArrayList?

前端 未结 13 607
囚心锁ツ
囚心锁ツ 2020-11-28 04:32

In my String, I can have an arbitrary number of words which are comma separated. I wanted each word added into an ArrayList. E.g.:

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


        
相关标签:
13条回答
  • 2020-11-28 04:52

    I recommend use the StringTokenizer, is very efficient

         List<String> list = new ArrayList<>();
    
         StringTokenizer token = new StringTokenizer(value, LIST_SEPARATOR);
         while (token.hasMoreTokens()) {
               list.add(token.nextToken());
         }
    
    0 讨论(0)
  • 2020-11-28 04:54

    In Java 9, using List#of, which is an Immutable List Static Factory Methods, become more simpler.

     String s = "a,b,c,d,e,.........";
     List<String> lst = List.of(s.split(","));
    
    0 讨论(0)
  • 2020-11-28 04:57

    If you are importing or you have an array (of type string) in your code and you have to convert it into arraylist (offcourse string) then use of collections is better. like this:

    String array1[] = getIntent().getExtras().getStringArray("key1"); or String array1[] = ... then
    
    List allEds = new ArrayList(); Collections.addAll(allEds, array1);
    
    0 讨论(0)
  • 2020-11-28 05:00

    Easier to understand is like this:

    String s = "a,b,c,d,e";
    String[] sArr = s.split(",");
    List<String> sList = Arrays.asList(sArr);
    
    0 讨论(0)
  • 2020-11-28 05:03

    Try something like

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

    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]
    

    This post has been rewritten as an article here.

    0 讨论(0)
  • 2020-11-28 05:05

    This is using Gson in Kotlin

     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])
    
    0 讨论(0)
提交回复
热议问题