์ฌ๋ฌ ์ค์ ์ฐ๊ฒฐํ๊ณ ์ถ์ ์ํฉ์ ์ฒํด ๊ณ์
จ์ ๊ฒ์
๋๋ค. Java๋ก ์์ฑํ์ง ์์๋ค๋ฉด ์๋ง๋
join()
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์์ฒด์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ ๊ฒ์
๋๋ค. Java๋ก ์์ฑํ๋ค๋ฉด ๊ฐ๋จํ ์ด์ ๋๋ฌธ์ ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค. ์ด ๋ฉ์๋๊ฐ ์กด์ฌํ์ง ์์๊ธฐ ๋๋ฌธ์
๋๋ค. Java์ ํ์ค ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ GUI ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ๊ณ , ๋คํธ์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ , XML ๋ณํ์ ์ํํ๊ณ , ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฌธ์์ด ๋ชจ์์ ์ฐ๊ฒฐํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ํฌํจ๋์ง ์์์ต๋๋ค. ์ด๋ฅผ ์ํด์๋ ๋ง์ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๊ฐ ํ์ํ์ต๋๋ค. ๋คํํ๋ ์ด ์ผ์ ๋๋ฌ์ต๋๋ค! Java 8์์๋ ๋ง์นจ๋ด ๋ฌธ์์ด์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค! Java 8์๋ StringJoiner
. ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ์ด ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
StringJoiner joiner = new StringJoiner(",");
joiner.add("foo");
joiner.add("bar");
joiner.add("baz");
String joined = joiner.toString(); // "foo,bar,baz"
// add() calls can be chained
joined = new StringJoiner("-")
.add("foo")
.add("bar")
.add("baz")
.toString(); // "foo-bar-baz"
String
๋ ๊ฐ์ง ์๋ก์ด ์ ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค join() StringJoiner
.
// join(CharSequence delimiter, CharSequence... elements)
String joined = String.join("/", "2014", "10", "28" ); // "2014/10/28"
// join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
List<String> list = Arrays.asList("foo", "bar", "baz");
joined = String.join(";", list); // ยซfoo;bar;baz"
Collector
๋ํ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ์คํธ๋ฆผ์ ์ฌ์ฉํ๋ ์ 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ยป
์ด๋ ๊ฒ ํ๋ฉด ๋ ์ด์ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ์ง ์์ต๋๋ค! ์๋ณธ ๊ธฐ์ฌ
GO TO FULL VERSION