
세 가지 클래스 모두 문자열을 처리하기 위한 클래스이다. 하지만 String 클래스가 StringBuffer, StringBuilder 보다 느리고 메모리 관리 측면에서도 큰 차이를 보인다. (String 클래스는 immutable 즉, 한번 value가 생성되면 변경할수 없는 특성때문에 성능이 떨어짐) 여기서 StringBuffer와 StringBuilder는 기능이 동일하지만 Builder는 멀티스레드환경에서 동기화를 지원하지 못한다 따라서 보통 단일스레드 환경에서는 StringBuilder를 , 멀티스레드 환경에서는 StringBuffer를 권장한다. 평상시 내가 하는 수준에 연산이 적고, 문자열 값의 수정이 없이 읽는 경우가 많은 상황에서는 String클래스가 적절하겠다. StringBuffer,..

자바 알고리즘 문제를 풀다보면 java.lang에 속하는 Integer 클래스를 활용해야 하는 경우가 많다. ex) 진법 변환 문제, 문자열-->숫자형 변환 , 2진법으로 변환후 1의수 구하기 자주 사용하는 Integer클래스의 메소드는 크게 다음과 같다. Integer.parseInt(String s) : 숫자형의 문자열을 인자값으로 받으면 해당값을 10진수 Integer형으로 변환한다 ex) Integer.parseInt("1004); Integer.parseInt(String s, int radix) : 숫자형의 문자열을 첫번째 인자값으로 받고, 변환할 진수값을 두번재 인자로 넣어주면 해당진수에 맞추어 Integer형 반환한다. ex) Integer.parseInt("2018",8); 반대로 Int..

돈과 관련된 계산, 팩토리얼 계산 등등 수가 long 타입의 범위를 넘어가는 경우가 있다. 이럴 때는 BigInteger 클래스를 사용해야 한다. 이 클래스를 사용하기 위해선 java.lang.Math 클래스를 임포트 해야한다. 또한 BigInteger는 기존 연산자들(+ - / * ) 등을 사용 할 수 없고 클래스에서 제공하는 메소드 만 사용할 수 있다. 프로그래머스 멀쩡한 사각형 문제를 풀다가 알게된 클래스인데 언젠가 사용할 때가 있는 클래스 인것 같다.

프로그래머스 lv2 정렬문제인 "가장 큰 수" 문제를 풀다가 알게 된 개념이다. Arrays.sort(배열) 과 같이 인자를 한개만 줘서 배열을 정렬하는 것은 알고 있었지만(오름차순) sort메소드에서 두번째 인자로 Comparator를 넘겨줘서 정렬하는 방식을 사용자가 정의하는 방식을 처음 알게 되었다. import java.util.Arrays; import java.util.Comparator; // 이와 같이 유틸리티 클래스 두개를 임포트해야 사용가능하겠다. Arrays.sort(배열, Comparator) 로 활용한다. 내부적으로 인자값으로 넘어온 Comparator 인터페이스의 compare메소드를 호출하여 비교(정렬) 하게 된다. compareTo 메소드 작성법 현재객체 < 파라미터객체 : ..
ㅇㅇㅇㅇ

한번 계산된 데이터는 배열에서 제외시키는게 편한 상황에서 나는 단순히 배열을 사용해서 사용한 값들은 -1 로 치환하며 알고리즘 문제를 풀었다. 문제를 어찌저찌 풀고나서 다른사람들의 문제풀이를 보니 HashSet 자료구조를 사용한 사람들이 많아서 코드를 봤는데 정말 편한것 같아서 검색을 통해 공부를 해서 앞으로 활용하고자 한다. HashSet은 중복을 자동으로 제거해주며 인덱스가 지정되지 않는 비선형 구조 클래스 이다. 속도는 비선형구조이기 때문에 리스트구조에 비해 느리지만 값을 추가하거나 삭제할때 Set내부에 같은 값이 존재하지 않게 관리해준다. -HashSet 선언 import java.util.HashSet ; 을 통해 라이브러리를 임포트 뒤, HashSet hs = new HashSet(); // ..
- Total
- Today
- Yesterday
- Netlify #CICD
- java gc
- 스프링 동작흐름 #ioc #di #dispatcherservlet
- 버팀목 국민은행
- Java
- 청년 버팀목 대출
- 스프링 기본 구조
- 왜 트랜스지방은 살 찜
- gc란 뭘까
- Optinal Chaining
- Prim vs Dijkstra
- git branch strategy
- 퍼블리싱 #앱에서 DB바로 안붙이는 이유
- SQLD 후기
- 원자 원소 분자 차이점
- JAVA설치 #JDK #JRE
- SSAFY 6기
- Property or method "" is not defined
- java garbage collector 기본
- gc 기본 동작 원리
- #web /was 구분이유
- 알고리즘 나머지연산
- java 김영한 강의 #2chapter
- safe operator
- vue 특징
- vue정리
- 나머지연산 분배법칙
- 스프링 동작흐름
- 프로시저 #배치 #스케쥴러 #잡 #바인딩변수
- 부트스트랩 템플릿 사용시 충돌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |