provided 1. Predicate

@FunctionalInterface
public interface Predicate<T> {
    boolean test(T t);
}

Predicate๋Š” ์ธ์ž ํ•˜๋‚˜๋ฅผ ๋ฐ›์•„์„œ boolean ํƒ€์ž…์œผ๋กœ ๋ฆฌํ„ดํ•œ๋‹ค.

๋žŒ๋‹ค์‹์œผ๋กœ๋Š” T โ†’ boolean ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

๋ฐ˜ํ™˜ ํƒ€์ž…์ด boolean ๊ฒƒ์„ ๋ณด๋ฉด ์กฐ๊ฑด์ด ์กด์žฌํ•˜๊ณ , ํ•ด๋‹น ์กฐ๊ฑด์— ๋งž๋Š” ํ•„ํ„ฐ๋ง์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

์žฌ์ •์˜

๋งŒ์•ฝ ํŠน์ • ๋ฌธ์ž๋ฅผ ์ฐพ๊ณ  ์‹ถ๋‹ค๋ฉด ์ƒˆ๋กœ ์žฌ์ •์˜ ํ•ด๋„ ๋œ๋‹ค.

public Predicate<String> predicateOverride() {
  return new Predicate<String>() {
      @Override
      public boolean test(String compString) {
          // ๋ฌธ์ž์—ด์—์„œ "find"๋ฅผ ํฌํ•จํ•˜๋ฉด true ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด false๋ฅผ return
          return compString.contains("find");
      }
  };
}

Predicate<T> ์‚ฌ์šฉ๊ณผ ๋žŒ๋‹ค ํ‘œํ˜„์‹

๋žŒ๋‹ค์˜ ์‚ฌ์šฉ์€ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๊ฐ€ ์•„๋‹๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.

Predicate<T>, Stream Filter์˜ ํ™œ์šฉ

stream().filter()๋Š” Predicate๋ฅผ ํ™œ์šฉํ•œ๋‹ค.

Last updated