- ๋น๋ฐํค
- ์ฟผ๋ฆฌ ์คํ ๊ณํ ํญ๋ชฉ
- 4-way handshake
- Collections
- 3-way handshake
- ํ์ด๋ธ๋ฆฌ๋ ๋ฐฉ์
- ์ฟผ๋ฆฌ ์คํ ๊ณํ ๋ถ์
- Selective repeat
- AIMD
- ํ๋ฆ์ ์ด
- fast retransmit
- SOLID ์์น
- CI/CD
- TCP
- ๋์๊ณผ์
- Ioc/DI
- ๊ฐ์ธํค
- Java
- ์ฟผ๋ฆฌ ์คํ ๊ณํ
- ๊ฐ๋ฐ์์
- Stop-and-Wait
- ์ํ์ฐธ์กฐ
- go back N
- ์ฟผ๋ฆฌ ์ต์ ํ
- Facade ํจํด
- HTTP
- primitive type
- ์ฟผ๋ฆฌ ๊ฐ์
- ๊ฐ๋ณ
- Fast Recovery
- Today
- Total
05AM
[Java] collect(), Collectors, Collections ํน์ง ์ ๋ฆฌ ๋ณธ๋ฌธ
[Java] collect(), Collectors, Collections ํน์ง ์ ๋ฆฌ
_05AM 2024. 5. 27. 11:06๐ท `collect()`
Java Stream API์ ๋ฉ์๋๋ก, ์คํธ๋ฆผ์ ์์๋ฅผ ๋ค์ํ ์ปฌ๋ ์ ์ผ๋ก ์์งํ๊ฑฐ๋ ํน์ ํ ๋ฐฉ์์ผ๋ก ์ง๊ณํ๋๋ฐ ์ฌ์ฉ๋๋ค.
`collect` ๋ฉ์๋๋ ์ฃผ๋ก Collector๋ฅผ ์ธ์๋ก ๋ฐ์ ์คํธ๋ฆผ์ ์์๋ฅผ ์์งํ๋ค.
// List๋ก ์์ง
List<String> wordList = words.stream().collect(Collectors.toList());
// Set์ผ๋ก ์์ง
Set<String> wordSet = words.stream().collect(Collectors.toSet());
Stream (Java SE 11 & JDK 11 ) (oracle.com)
๐ท `Collectors`
๋ค์ํ ์ ํธ๋ฆฌํฐ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ ํด๋์ค๋ก, ์ฃผ๋ก ์คํธ๋ฆผ์ ์์๋ฅผ ์ปฌ๋ ์ ์ผ๋ก ์์งํ๊ฑฐ๋ ํน์ ํ ์ง๊ณ ์ฐ์ฐ์ ์ํํ ๋ ์ฌ์ฉ๋๋ค.
`Collectors` ํด๋์ค์ ๋ฉ์๋๋ ์ฃผ๋ก `collect` ๋ฉ์๋์ ํจ๊ป ์ฌ์ฉ๋๋ค.
โก๏ธ ์ฃผ์ ๋ฉ์๋
- `toList()`: ์คํธ๋ฆผ์ ์์๋ฅผ ๋ฆฌ์คํธ๋ก ์์ง
- `toSet()`: ์คํธ๋ฆผ์ ์์๋ฅผ ์ธํธ๋ก ์์ง
- `joining()`: ์คํธ๋ฆผ์ ๋ฌธ์์ด ์์๋ฅผ ํ๋์ ๋ฌธ์์ด๋ก ๊ฒฐํฉ
- `groupingBy()`: ์คํธ๋ฆผ์ ์์๋ฅผ ํน์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํ
- `partitioningBy()`: ์คํธ๋ฆผ์ ์์๋ฅผ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ ๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๋ถํ
- `summarizingInt()`, `summarizingDouble()`, `summarizingLong()`: ์คํธ๋ฆผ์ ์์์ ๋ํ ํต๊ณ ์์ฝ ์ ๋ณด ์์ฑ
// ๋ฌธ์์ด ๊ฒฐํฉ
String joinedString = words.stream().collect(Collectors.joining(" "));
System.out.println(joinedString); // ์ถ๋ ฅ: Hello World Java Streams
// ๊ทธ๋ฃนํ
Map<Integer, List<String>> groupedByLength = words.stream()
.collect(Collectors.groupingBy(String::length));
Collections (Java SE 11 & JDK 11 ) (oracle.com)
๐ท `Collections`
์ปฌ๋ ์ ํ๋ ์์ํฌ๋ฅผ ์กฐ์ํ๋ ๋ค์ํ ์ ํธ๋ฆฌํฐ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ ํด๋์ค๋ก, ์ปฌ๋ ์ ์ ์ ๋ ฌ, ๊ฒ์, ๋ณํ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
Collections ํด๋์ค๋ java.util ํจํค์ง์ ์ํด ์์ผ๋ฉฐ, ๋ค์ํ ์ ์ ๋ฉ์๋๋ฅผ ํตํด ์ปฌ๋ ์ ์ ์ฝ๊ฒ ์กฐ์ํ ์ ์๋ค.
โก๏ธ ์ฃผ์ ๋ฉ์๋
- `sort(List<T> list)`: ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌ
- `reverse(List<?> list)`: ๋ฆฌ์คํธ์ ์์๋ฅผ ๋ฐ์
- `shuffle(List<?> list)`: ๋ฆฌ์คํธ์ ์์๋ฅผ ๋ฌด์์๋ก ์๊ธฐ
- `min(Collection<? extends T> coll)`: ์ปฌ๋ ์ ์์ ์ต์๊ฐ ๋ฐํ
- `max(Collection<? extends T> coll)`: ์ปฌ๋ ์ ์์ ์ต๋๊ฐ ๋ฐํ
- `unmodifiableList(List<? extends T> list)`: ์์ ํ ์ ์๋ ๋ฆฌ์คํธ ๋ฐํ
'Programming Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] Comparable vs Comparator (0) | 2024.06.04 |
---|---|
[JAVA] StringBuilder์ StringBuffer๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ ์ฐจ์ด์ (1) | 2023.10.15 |
[Java] ํค์๋ ์ ๋ฆฌ - this, super, static, final, ๊ธฐ๋ณธ/์ฐธ์กฐ ํ์ (0) | 2023.04.21 |