В моей строке я могу иметь произвольное количество слов, разделенных запятыми. Я хотел, чтобы каждое слово добавлялось в ArrayList. Например:
String s = "a,b,c,d,e,.........";
Попробуйте что-нибудь вроде
List<String> myList = new ArrayList<String>(Arrays.asList(s.split(",")));
Arrays.asList
документацияString.split
документацияArrayList(Collection)
конструкторская документацияДемо:
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]
Это сообщение было переписано как статья здесь .
new ArrayList<String>()
может быть избыточным в зависимости от того, как он используется. (как в вашем примере;)split
его после: PArrays.toString()
для печати, но да.источник
replace = s1.replaceAll("^\\[|]$", "");
Вариант 1 :
Вариант 2 :
На мой взгляд, вариант 1 лучше, потому что
asList
Метод создает и возвращает объект ArrayList.Пожалуйста, обратитесь к документации здесь
источник
List<Character> word1 = new ArrayList<Character>(Arrays.asList(A[0].toCharArray()));
Я пытаюсь получить первую строку массива строк и преобразовать эту строку в charArray, а этот charArray в List <Character>В Java 9 использование
List#of
, которое представляет собой статические фабричные методы неизменяемого списка, стало более простым.источник
s.split("\\s*,\\s*")
могут быть добавлены для дополнительного уходаЕсли вы импортируете или у вас есть массив (строки типа) в вашем коде, и вам нужно преобразовать его в arraylist (внешняя строка), то лучше использовать коллекции. как это:
источник
Хорошо, я собираюсь расширить ответы здесь, поскольку многие люди, которые приходят сюда, хотят разделить строку пробелом . Вот как это делается:
источник
Вы можете использовать:
Вы должны спросить себя, действительно ли вам нужен ArrayList в первую очередь. Очень часто вы собираетесь фильтровать список на основе дополнительных критериев, для которых Stream идеально подходит. Вам может понадобиться набор; вы можете отфильтровать их с помощью другого регулярного выражения и т. д. Java 8, кстати, предоставляет это очень полезное расширение, которое будет работать на любом
CharSequence
: https://docs.oracle.com/javase/8/docs/api /java/util/regex/Pattern.html#splitAsStream-java.lang.CharSequence- . Поскольку вам вообще не нужен массив, не создавайте его таким образом:источник
Если вы хотите преобразовать строку в ArrayList, попробуйте следующее:
Но в вашем примере я вижу массив строк, поэтому, если вы хотите преобразовать массив строк в ArrayList, используйте это:
источник
Легче понять вот так:
источник
Это использует Gson в Котлине
источник
Возьмем вопрос: перевернуть строку. Я сделаю это с помощью stream (). Collect (). Но сначала я изменю строку на ArrayList.
источник
Я рекомендую использовать StringTokenizer, он очень эффективен
источник
Если вы используете гуаву (и вы должны использовать ее, см. Эффективный элемент Java № 15 ):
источник