Stream 2

[Java] ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค(Functional Interface) ์•Œ์•„๋ณด๊ธฐ

์š”์ฆ˜ ํ”„๋กœ๊ทธ๋žจ์„ ์งค ๋•Œ Stream API๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Stream์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ Class Type๋“ค์ด ๋„ˆ๋ฌด ๋‚ฏ์„ค๋”๊ตฐ์š”. Stream์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  lambda๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๊ณ  lambda๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค(Functional Interface)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค(Functional Interface)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰์„ ํ•ด ๋ณด๋‹ˆ Stream, lambda ๊ทธ๋ฆฌ๊ณ  Functional Interface ์„ธ๊ฐ€์ง€๋ฅผ ํ™œ์šฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ Functional programming์ด๋ผ๊ณ  ํ•˜๋”๊ตฐ์š”. ๋‹ค์Œ์—๋Š” Functional programming์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์— ์ •๋ฆฌํ•œ ์ฝ”๋“œ๋“ค์€ ๋ชจ๋‘ gitHub์— ์˜ฌ๋ ค ๋†“์•˜์Šต๋‹ˆ๋‹ค. ํ•„์š”..

Languages/java 2022.08.04

[LeetCode] Remove Element๋ฌธ์ œ์˜ Reference์— ๊ด€ํ•˜์—ฌ

์˜ค๋žœ๋งŒ์— leetCode easy ๋‹จ๊ณ„๋ฅผ ํ‘ธ๋Š” ๋„์ค‘์— stream์— ๊ด€๋ จํ•œ(stream์ธ์ง€ .toArray์ธ์ง€ ๋ชจ๋ฅด๊ฒ ๊ตฐ์š”.) ์žฌ๋ฐŒ์žˆ๋Š” ์‚ฌ์‹ค(์ €๋งŒ ๋ชฐ๋ž๊ฒ ์ฃ ..? )์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๊ด€ํ•ด ๊ธ€์„ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. leetcode ๋ฌธ์ œ ๋งํฌ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ class Solution { public void static main(String[args){ int nums[] = new int[]{3,2,2,3}; int val = 3; removeElement(nums, val); ... // nums ๊ฒ€์‚ฌ for (int i = 0; i < expectedNums[i].length; i++) { assert nums[i] == expectedNums[i]; } } // logic ๊ตฌํ˜„ public int r..

Languages/java 2022.03.27
728x90
๋ฐ˜์‘ํ˜•