πŸ–₯️ λ°±μ—”λ“œ/Java

[ch.14] java.util.function νŒ¨ν‚€μ§€

OR15A 2023. 11. 15. 20:49

일반적으둜 자주 μ“°μ΄λŠ” ν˜•μ‹μ˜ λ©”μ„œλ“œλ₯Ό ν•¨μˆ˜ν˜• μΈν„°νŽ˜μ΄μŠ€λ‘œ 미리 μ •μ˜ν•΄λ‘ .

 

  • java.util.function νŒ¨ν‚€μ§€μ˜ μΈν„°νŽ˜μ΄μŠ€λ“€μ€ λ§€κ°œλ³€μˆ˜μ™€ λ°˜ν™˜κ°’ λͺ¨λ‘ μ œλ„€λ¦­ νƒ€μž…μœΌλ‘œ μ„ μ–Έλ˜μ–΄ 있음.
  • λ”°λΌμ„œ κΈ°λ³Έν˜• κ°’(primitive type)을 μ²˜λ¦¬ν•  λ•ŒλŠ” ν•΄λ‹Ή κΈ°λ³Έν˜•μ˜ 래퍼(wrapper) 클래슀λ₯Ό μ‚¬μš©ν•΄μ•Ό 함.

 

 

쑰건식 ν‘œν˜„μ— μ‚¬μš©λ˜λŠ” Predicate

  • predicateλŠ” Function의 λ³€ν˜•μœΌλ‘œ λ°˜ν™˜νƒ€μž…μ΄ booleanμž„.
  • 쑰건식을 λžŒλ‹€μ‹μœΌλ‘œ ν‘œν˜„ν•  λ•Œ μ‚¬μš©ν•¨.

 

java.util.function νŒ¨ν‚€μ§€μ˜ ν•¨μˆ˜ν˜• μΈν„°νŽ˜μ΄μŠ€μ— μ •μ˜λœ λ©”μ„œλ“œλ“€

 

 

κΈ°λ³Έν˜•μ„ μ‚¬μš©ν•˜λŠ” ν•¨μˆ˜ν˜• μΈν„°νŽ˜μ΄μŠ€

  • 단지 μ„±λŠ₯ λ•Œλ¬Έμ— μ‚¬μš©ν•¨.

 

Function의 ν•©μ„±

  • 두 λžŒλ‹€μ‹μ„ ν•©μ„±ν•΄μ„œ μƒˆλ‘œμš΄ λžŒλ‹€μ‹μ„ λ§Œλ“€ 수 있음. μ–΄λŠ ν•¨μˆ˜λ₯Ό λ¨Όμ € μ μš©ν•˜λŠλƒμ— 따라 닀름.
  • identity()λŠ” ν•­λ“±ν•¨μˆ˜κ°€ ν•„μš”ν•  λ•Œ μ‚¬μš©.κ·ΈλŒ€λ‘œλ°˜ν™˜

 

 

Predicate의 κ²°ν•©

  • Predicateλ₯Ό μ—°κ²°ν•΄μ„œ μƒˆλ‘œμš΄ Predicateλ₯Ό λ§Œλ“€μ–΄μ£ΌλŠ” 역할을 함.
  • isEqual()은 μ£Όμ–΄μ§„ 객체와 λ™λ“±ν•œμ§€ μ—¬λΆ€λ₯Ό λΉ„κ΅ν•˜λŠ” Predicateλ₯Ό 생성함.