От новичка до гуру: Курсы программирования на CyberDuff

Преобразовать List ‹String› в строку с разделителями

Возможный дубликат:
Java: список преобразования ‹ Строка ›в строку join () d

Имея это:

List<String> elementNames = Arrays.asList("h1", "h2", "h3", "h4", "h5", "h6");

Каков элегантный способ получить String с настраиваемым разделителем, например:

"h1,h2,h3,h4,h5,h6"
05.06.2011

  • Извините за дубликат. Сделал быстрый поиск и, похоже, пропустил. 05.06.2011

Ответы:


1

Если вы не против использования библиотеки StringUtils, предоставляемой apache, вы можете сделать:

// Output is "a,b,c"
StringUtils.join(["a", "b", "c"], ','); 

https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html.

05.06.2011
  • +1 за компактность, так и сделаю 05.06.2011
  • StringUtils.collectionToDelimitedString 21.06.2012
  • И вы даже можете передавать List и Iterable, а не только массивы. 27.06.2013

  • 2
    StringBuilder sb = new StringBuilder();
    
    for(String s: elementnames) {
       sb.append(s).append(',');
    }
    
    sb.deleteCharAt(sb.length()-1); //delete last comma
    
    String newString = sb.toString();
    

    Обновление: начиная с java 8, вы можете получить те же результаты, используя:

        List<String> elementNames = Arrays.asList("1", "2", "3");
    
        StringJoiner joiner = new StringJoiner(",", "", "");
        elementNames.forEach(joiner::add);
    
        System.out.println(joiner.toString());
    
    05.06.2011
  • Это только в том случае, если он не возражает против использования внешних библиотек. знак равно 05.06.2011
  • Проголосуйте за отсутствие внешних библиотек - я реорганизую старый код с исправленными старинными зависимостями. 14.01.2014
  • Версия Java 8 может быть выполнена в 1 строке с помощью Collectors. Строка присоединена = elementNames.stream (). Collect (Collectors.joining (,)); 21.06.2018
  • Новые материалы

    Путь AWS  — «Изучение машинного обучения — 10 начинающих ИИ и машинного обучения на AWS».
    Универсальный ресурсный центр для изучения искусственного интеллекта и машинного обучения. НОЛЬ или ГЕРОЙ, начните свое путешествие здесь. Получите решения и пройдите обучение у экспертов AWS...

    5 простых концепций Python, ставших сложными
    #заранее извините 1) Переменные x = 4 y = 5 Переменная в Python — это символическое представление объекта. После присвоения некоторого объекта переменной Python мы приобретаем..

    «Освоение вероятности: изучение совместной, предельной, условной вероятности и теоремы Байеса —…
    Виды вероятности: Совместная вероятность Предельная вероятность Условная вероятность Диаграмма Венна в вероятностях: В “Set Theory” мы создаем диаграмму Венна...

    Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
    Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

    Отслеживание состояния с течением времени с дифференцированием снимков
    Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

    Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
    Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

    Игра в прятки с данными
    Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..