JavaRush /Java Blog /Random-KO /Java 8์—์„œ๋Š” ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
theGrass
๋ ˆ๋ฒจ 24
ะกะฐั€ะฐั‚ะพะฒ

Java 8์—์„œ๋Š” ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์—ฌ๋Ÿฌ ์ค„์„ ์—ฐ๊ฒฐํ•˜๊ณ  ์‹ถ์€ ์ƒํ™ฉ์— ์ฒ˜ํ•ด ๊ณ„์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Java๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์•„๋งˆ๋„ join()ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ž์ฒด์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Java๋กœ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด ๊ฐ„๋‹จํ•œ ์ด์œ  ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์†Œ๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Java์˜ ํ‘œ์ค€ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” GUI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ , XML ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋ชจ์Œ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ํฌํ•จ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋งŽ์€ ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. Java 8์—์„œ๋Š” ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค - 1๋‹คํ–‰ํžˆ๋„ ์ด ์ผ์€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค! 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ยป
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋” ์ด์ƒ ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค! ์›๋ณธ ๊ธฐ์‚ฌ
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION