| 연산 | 형식 | 반환 형식 | 사용된 함수형 인터페이스 형식 | 함수 디스크립터 |
|---|---|---|---|---|
| filter | 중간 연산 | Stream<T> | Predicate<T> | T → boolean |
| distinct | 중간 연산(상태 있는 언바운드) | Stream<T> | ||
| takeWhile | 중간 연산 | Stream<T> | Predicate<T> | T → boolean |
| dropWhile | 중간 연산 | Stream<T> | Predicate<T> | T → boolean |
| skip | 중간 연산(상태 있는 언바운드) | Stream<T> | long | |
| limit | 중간 연산(상태 있는 언바운드) | Stream<T> | long | |
| map | 중간 연산 | Stream<R> | Function<T, R> | T → R |
| flatMap | 중간 연산 | Stream<R> | Function<T, Stream<R> > | T → Stream<R> |
| sorted | 중간 연산(상태 있는 언바운드) | Stream<T> | Comparator<T> | (T, T) → int |
| anyMatch | 최종 연산 | boolean | Predicate<T> | T → boolean |
| noneMatch | 최종 연산 | boolean | Predicate<T> | T → boolean |
| allMatch | 최종 연산 | boolean | Predicate<T> | T → boolean |
| findAny | 최종 연산 | Optional<T> | ||
| findFirst | 최종 연산 | Optional<T> | ||
| forEach | 최종 연산 | void | Consumer<T> | T → void |
| collect | 최종 연산 | R | Collector<T, A, R> | |
| reduce | 최종 연산(상태 있는 바운드) | Optional<T> | BinaryOperator<T> | (T, T) → T |
| count | 최종 연산 | long |
다양한 L4에 대한 Client IP Address얻기
import javax.servlet.http.HttpServletRequest; public class IPTraceUtils { public static String getRemoteAddr(HttpServletRequest request) { String ip = null; ip = request.getHeader("X-Forwarded-For"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_CLIENT_IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_X_FORWARDED_FOR"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("X-Real-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("X-RealIP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("REMOTE_ADDR"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return ip; } }