728x90

Programming 46

[Java] HashMap 사용법과 주요 메소드

- HashMap 생성자 new HashMap() : 기본 용량 16, 사용률 0.75의 빈 HashMap 생성 argument로 (int Capacity, float loadFactor)를 직접 지정할 수 있음 용량은 해싱기법을 통해 분류되는 카테고리의 갯수라고 할 수 있음 사용률은 전체 용량을 변경할 조건을 의미함 (75%가 차면 현재 용량의 2배로 용량 변경 등) 주요 메소드 .put(키, 값): 키(Key)와 값(value)을 입력, 제네릭으로 지정한 타입에 맞는 일반 배열을 이용해 한번에 넣어줄 수 있음, 만약 중복되는 키값을 제공하면 기존 키가 가지고 있던 값을 제공된 값으로 변경함 .keySet()/values(): 키 / 값을 별도로 추출하여 컬렉션 형태로 반환 (Set 생성) .get(키..

Programming/Java 2021.09.20

[Java] HashSet 사용법과 주요 메소드

HashSet (java.util.hashSet) new HashSet(); 인자값으로 용량과 사용률을 줄 수 있음 (HashMap과 동일) 용량 : 해시 테이블의 갯수를 의미 (카테고리의 갯수라고 보면 됨, 기본 16) 사용률 : 해시 테이블이 얼마만큼 다 차면 늘려줄 것인지 퍼센트를 기입 (기본 0.75)생성자 HashSet hs = new HashSet();​ 주요 메소드 .add(val): 값 추가, 정렬 없이 내부 로직에 맞는 위치에 저장됨, 중복값을 추가할 경우 변동 없음 // 값 추가 hs.add("박"); hs.add("박"); hs.add("이"); hs.add("최"); System.out.println(hs); // [이, 박, 최] .addAll(hs2): 제공한 다른 컬렉션의 값을..

Programming/Java 2021.09.20

[Java] ArrayList 사용법과 주요 메소드

- ArrayList (java.util.arrayList) 생성자 new ArrayList() : 기본 크기가 10인 배열 생성 new ArrayList(기본크기) : 기본 크기를 지정 (배열이 다 차면 기본크기만큼 사이즈가 증가함) new ArrayList() : 배열 값의 타입을 지정 ※ 제네릭 (Generic) - 컬렉션 객체를 생성할 때 저장되는 데이터의 타입을 미리 지정하는 기능 - 제네릭으로 지정한 타입 외에는 담길 수 없도록 함 주요 메소드 .add((index), val): 순서대로 리스트를 추가, 배열 사이즈 초과 시 초기 설정된 사이즈만큼 자동으로 사이즈가 증가함, 인덱스를 추가로 지정해주면 해당 인덱스에 값을 삽입 .get(index): 해당 인덱스의 값 반환 .set(index, ..

Programming/Java 2021.09.20

[Java] Arrays 사용법과 주요 메소드

- Arrays (java.util.Arrays) .asList(arr): 배열을 ArrayList로 변환해준다.배열은 크기가 정해져있고 값의 삭제 등이 자유롭지 않아 불편한 점이 많다. asList를 사용하여 리스트로 변환한 후 체인메소드(chain method) 방식으로 ArrayList의 메소드를 더하여 활용하면 여러모로 편리한 점이 많다. .toString(arr): 배열에도 toString이 존재한다. toString이라는 메소드는 클래스에서 ALT+SHIFT+S를 누른 후 Generate toString을 이용해 오버라이딩할 수 있다. sort sort(arr):기본적으로 Sort()를 하면 오름차순 정렬이 된다. 정수형 배열을 내림차순 정렬하고 싶으면 반복문으로 배열을 뒤에서부터 꺼내 담아주..

Programming/Java 2021.09.20

[Java] StringBuilder 사용법과 주요 메소드

- StringBuilder (java.lang.StringBuilder) 생성자 StringBuilder sb = new StringBuilder(): 객체 선언 StringBuilder sb = new StringBuilder("aaa"): 문자열을 바로 넣을 수도 있다. 주요 메소드 .append(): 문자열을 추가한다. (sb.append("bbb"), sb.append(4)) .insert(int offset, String str): offset 위치에 str을 추가한다. (sb.insert(2, "ccc")) .replace(): 첫번째와 두번째 파라미터로 받는 숫자 인덱스에 위치한 문자열을 대체한다. (.replace(3, 6, "ye")) .substring(int start, (int e..

Programming/Java 2021.09.20

[Java] StringTokenizer 사용법과 주요 메소드

StringTokenizer: 구분자로 문자열 나누기 (java.util.StringTokenizer) 생성자 StringTokenizer(String s): 디폴트 구획문자로 공백문자(\t, \n, \r, \f)를 가짐. StringTokenizer(String s, String delim): 구획문자(delimiter)를 인자로 받는 생성자. 구획문자는 2자리 이상도 설정할 수 있다. 구획문자를 $%라고 설정하면 $, %를 기준으로 끊어준다. %%라고 설정하면 %를 기준으로 끊어준다. 즉 구획문자는 길이가1로 고정이고 길이가 2이상인 구획문자를 받으면 구획문자가 여러개가 된다. StringTokenizer(String s, String delim, boolean returnDelims): 구획문자(d..

Programming/Java 2021.09.20

[Java] 문자열(String) 기본 메소드

생성자 String str = "str"; String str = new String("str"); 주요 메소드 .length(): 문자열의 길이 (str.length()) .isEmpty(): 문자열이 비어있는 지 확인, 문자열의 길이(length)가 0이면 true 반환(boolean형), 0이 아니면 false를 반환 .charAt(int index): 문자 반환, 문자열 중 해당 인덱스의 문자(char형)를 반환합니다.(인덱스는 0 ~ 문자열의 길이(length) -1) .getChars: 문자 배열 복사, 문자열을 문자(char) 배열로 복사 (str.getChars(0, 2, ch, 0); // 시작 인덱스, 끝 인덱스, 복사 받을 char 배열 이름, 복사 시작 위치) .equals(Stri..

Programming/Java 2021.09.20

[Java] 자바 기초 (백준 단계별 1~7 단계)

파이썬을 안보는 코딩테스트를 보게 되어 갑자기 준비하는 자바 코테..! 자바로 코테라니,,, 화이팅.. 🤣🤣 🔎 백준 단계별을 풀며 알아두면 좋을 것 정리 1. 빠른 입출력 : BufferedReader, BufferedWriter, InputStreadReader, OutputStreamWriter, StringTokenizer /// 빠른 입출력 import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.IOException; import java.io.BufferedReader; import java.io.BufferedWriter; import java.util.StringTokenizer; public c..

Programming/Java 2021.09.20

[Algorithm] 구간 합 계산

접두사 합(Prefix Sum): 리스트의 맨 앞부터 특정 위치까지의 합을 구해 놓은 것 - 알고리즘 1. N개의 수에 대하여 접두사 합(Prefix Sum)을 계산하여 배열 P에 저장한다. 2. 매 M개의 쿼리 정보 [L, R]을 확인할 때, 구간 합은 P[R]-P[L-1]이다. - 접두사 합을 활용한 구간 합 계산 소스코드 # 데이터의 개수 N과 전체 데이터 선언 n = 5 data = [10, 20, 30, 40, 50] # 접두사 합(Prefix Sum) 배열 계산 sum_value = 0 prefix_sum = [0] for i in data: sum_value += i prefix_sum.append(sum_value) # 구간 합 계산(세 번째 수부터 네 번째 수까지) left = 3 rig..

728x90