깊은복사를 하기 위해서는 새로운 리스트를 할당해줘야합니다. 그래야 원본 리스트와 관련이 없어집니다. 전체복사부분복사
java는 형변환이 어려운 편이다. 따라서 형변환에 관련된 문법들을 한 곳에 계속 정리해 놓으려고 합니다. split + mapToInt문자끼리 뺄셈 List는 Array보다 훨씬 유연하고 사용가능한 내장함수도 많다.
오름차순 내림차순(Integer\[]로 바꾸고 Collections.reverseOrder)
charAt(i)substring(s,f+1)끝에는 포함되지 않습니다구분자로 나눠서 문자열 배열출력(문자 배열아님)
' ' 작은따옴표로 감싸줘야함
putgetkey에 해당하는 value반환이때 해당 키의 값이 없다면 null반환getOrDefault해당 키 값이 없다면 반환할 값 두번 째 인자에 주기빈도수 셀 때 유용함 빈도 수 세기 removekey값 넘겨주면 해당 value삭제후 반환 keySet()entry
Stream 1. 연속된 숫자 생성 2. filter 3. sum
C, Python, C++... 여러 언어를 다루다보면 비슷한 점들이 많아서 금방 다른언어도 빨리 배우게 됩니다.. 그렇게 가벼운 마음으로 JAVA를 시작했지만.. 자료형부터 혼돈의 카오스를 겪으며 굉장히 당황스럽더라구요ㅎㅎ;; 매번 그때그때 슥 찾아보고 이해하고 넘어
String은 객체로 생성하든 리터럴로 생성하든 수정을 하게 되면 그 자체가 수정이 되지 않고 수정된 새로운 문자열이 생기고 변수가 그 주소를 담게 됩니다. 따라서 원래 문자열은 힙영역에 garbage상태로 남았다가 garbage collect때 없어집니다.String
기본형(Primitive type)을 참조형(Reference type)으로 바꾸고 싶을 때 Wrapper class를 활용합니다. 그리고 이러한 행위를 박싱(boxing)이라고 합니다. 반대로 Wrapper class로 바꾼 변수를 다시 기본형으로 바꾸는 것은 언박싱
Java에는 타입을 크게 두가지로 나눌 수 있습니다. 그 중에 딱 8가지 타입(int, char, boolean, byte, long, short, float, double)이 속하는 primitive타입은 직접 값을 저장합니다.stack영역에 저장되고 참조형이 아니기
먼저 Stream과 Collections는 컨셉자체가 다릅니다. Collections는 데이터를 모아서 그룹으로 저장하기 위한 자료구조입니다. 예를들면 List, Map등이 있습니다. 이와 다르게 Stream은 이런 그룹으로 저장된 데이터를 다루기 위한 것입니다. 예를
Record는 enum과 같은 특별한 형태의 class입니다. 주로 간단하게 데이터를 저장하고 옮기는 역할로 쓰입니다. records는 일반 class와는 다르게 생성자, getter, hashCode(), equals() ,toString()를 제공해줍니다. 물론 c
Enum Type Request DTO Mapping Enum type을 쓰다보면 별칭을 주는 경우들이 있습니다. 이렇게 별칭을 줘서 사용할 경우 Enum Type의 Request DTO에 Request body가 매핑되는 과정에서 매핑오류가 나는 경우가 생깁니다.