728x90
반응형
질문 : 자바 : 목록 변환 문자열에
JavaScript에는 Array.join()
js>["Bill","Bob","Steve"].join(" and ")
Bill and Bob and Steve
Java에 이와 같은 것이 있습니까? StringBuilder를 사용하여 직접 작업 할 수 있다는 것을 알고 있습니다.
static public String join(List<String> list, String conjunction)
{
StringBuilder sb = new StringBuilder();
boolean first = true;
for (String item : list)
{
if (first)
first = false;
else
sb.append(conjunction);
sb.append(item);
}
return sb.toString();
}
...하지만 이미 JDK의 일부인 경우에는이 작업을 수행 할 필요가 없습니다.
답변
Java 8을 사용하면 타사 라이브러리없이이 작업을 수행 할 수 있습니다.
문자열 컬렉션에 가입하려면 새로운 String.join () 메서드를 사용할 수 있습니다.
List<String> list = Arrays.asList("foo", "bar", "baz");
String joined = String.join(" and ", list); // "foo and bar and baz"
String이 아닌 다른 유형의 Collection이있는 경우 결합하는 Collector 와 함께 Stream API를 사용할 수 있습니다.
List<Person> list = Arrays.asList(
new Person("John", "Smith"),
new Person("Anna", "Martinez"),
new Person("Paul", "Watson ")
);
String joinedFirstNames = list.stream()
.map(Person::getFirstName)
.collect(Collectors.joining(", ")); // "John, Anna, Paul"
StringJoiner
클래스도 유용 할 수 있습니다.
출처 : https://stackoverflow.com/questions/1751844/java-convert-liststring-to-a-string
728x90
반응형
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
자바 문자열을 날짜로 변환하는 방법 (0) | 2021.12.03 |
---|---|
Java에서 파일의 MD5 체크섬 가져 오기 (0) | 2021.12.03 |
Java에서 디렉토리를 만드는 방법 (0) | 2021.11.29 |
Java에서 Map 값을 증가시키는 가장 효율적인 방법 (0) | 2021.11.29 |
자바 HashMap을 통해 반복하는 방법 (0) | 2021.11.26 |