제네릭 : 어떠한타입도 처리 가능하게 함
람다 : (파라미터) -> (실행코드)
파라미터(입력받는값), ->(파라미터와 실행코드 구분), 실행코드(람다가 수행 할 작업)
스트림 : 기존의 for문과 Iterator를 사용하면 코드가 길어져서 가독성과 재사용성이 떨어짐
스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메소드를 정의해 놓아서 데이터 소스에 상관없이 모두 같은 방식으로 다룰 수 있으므로 코드의 재사용성 높음
.distinct () => 중복제거
.filter() => 필터링
.stream () => 스트림
.collect()
.collect(Collectors.자료형에맞는거쓰면됨 toList같은..()) => 요소들 담기
.sorted(역순정렬) .sorted((a,b)->b-a)
.map => 데이터 변형에 사용
https://school.programmers.co.kr/learn/courses/30/lessons/59411
SELECT I.ANIMAL_ID,I.NAME FROM ANIMAL_INS I
JOIN ANIMAL_OUTS O ON I.ANIMAL_ID=O.ANIMAL_ID
ORDER BY DATEDIFF(O.DATETIME, I.DATETIME) DESC
LIMIT 2;
DATEDIFF(date1, date2)
=> date1 - date2값 반환 (두 날짜 사이의 값을 일로 반환)
https://school.programmers.co.kr/learn/courses/30/lessons/12950
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
row=[]
for j in range(len(arr1[i])):
row.append(arr1[i][j]+arr2[i][j])
answer.append(row)
return answer
=> zip사용하면 더 편함
(zip(arr1, arr2): 두 행렬 arr1과 arr2의 각 행(row)을 묶어서 한 쌍 묶어서 만듬)
def solution(arr1, arr2):
answer = [[a + b for a, b in zip(row1, row2)] for row1, row2 in zip(arr1, arr2)]
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/12918
def solution(s):
if len(s) == 4 or len(s) == 6:
answer = s.isdigit()
else :
answer = False
return answer
=> isdigit() 함수는 문자열이 숫자로만 이루어져 있는지 확인 하고 맞으면 T 아니면 F 반환