반응형
자료구조
자료구조 | 생성 방법(new) | 사용법 |
ArrayList(List) |
List<String> list = new ArrayList<String>();
|
list.add("temp"); list.size(); list.get(i); list.remove(i); |
Stack |
Stack<Integer> stack = new Stack<>();
|
stack.isEmpty stack.peek(); //마지막 값 stack.pop(); //스택 마지막 값 빼기 stack.add(i); //값 넣기 |
queue |
Queue<Integer> q = new LinkedList<>();
|
q.add(i); //추가 q.offer(i); //추가 q.poll(); //삭제 q.peek(); //queue의 첫번째 값 q.isEmpty 비어있는지 여부 |
Set |
Set<String> setExample = new HashSet<String>();
Iterator<String> iterator = setExample.iterator();
|
while(iterator.hasNext()){
String getin = iterator.next();
}
|
Map | Map<K,V> map = new HashMap<K,V>(); Map<String, Integer> m = new HashMap<>(); //만약 값이 있을 때 value값 늘려주는 법 if(m.get(words[i]) == null) m.put(words[i], 1); //값이 없다면 1을 넣어준다 else //만약 값이 있다면 해당 value값을 가져와서 +1 해준다. m.put(words[i], m.get(words[i])+1 ) ; |
map.put("asdf",123); map.get(key) -> value 출력 map.keySet... |
배열 | int[] arr = new int[100]; | |
우선 순위 큐 | //우선순위 낮은 숫자 순 = 오름차순 PriorityQueue<Integer> pq = new PriorityQueue<>(); //우선순위 높은 숫자 순 = 내림차순 PriorityQueue<Integer> pq = new PriorityQueue<Collection.reverseOrder()); |
pq.add(i);// 삽입 pq.poll() ;// 삭제 pq.isEmpty();//여부 pq.peek();// 맨 앞 값 |
pair
Pair 클래스 생성
//pair 클래스 생성 public Pair(){ private int x; //은닉화 private int y; //생성자 Pair(int x, int y){ this.x = x; this.y = y; } }
queue 생성 및 추가, 추출
//queue 선언 Queue<Pair> q = LinkedList<>(); //queue 추가 q.add(new Pair(x,y)); //queue 추출 int first = q.peek().x; int second = q.peek().y; //queue 삽입 Pair temp = new Pair(10,20); //초기값 셋팅 temp.x = 20; //변경 q.add(temp); //queue에 삽입
형변환
관련 | 변환 | |
String | String to int | String str = "123"; int num = Integer.parseInt(str); |
int to String | int num = 123; String str = Integer.toString(num); |
|
Char | char to int | 방법1) char c1 = '9' int num = c1 - '0'; //아스키 코드이용 방법2) char s1 = "4 int (s1); |
int to char | int num = 9; char c = (char) num; |
기타
인덱스 접근 | ||
String | char tempChar = s[i]; [X] char tempChar = s.charAt(i); str.length(); //String의 길이 |
|
substring | String str = "g2g2g2"; String str2 = str.substring(3); str2 = "g2g" str2.substring(0,3); //0부터 세글자 이게 더 많이씀 |
|
equals | if(str.equals(str2)) //같으면 true, 틀리면 false | |
StringBuilder | append 활용 | StringBuilder sb = new StringBuilder(); sb.append("hello"); sb.append(" world"); //가변성개념인데 무변하면 힙메모리가 자꾸 차는데 이건 추가하는 개념이다. |
반응형
'Algorithm > ***Algorithm Java' 카테고리의 다른 글
[백준] 1062_가르침 (0) | 2022.03.01 |
---|---|
[백준]7576_토마토(bfs/dfs) (0) | 2022.02.23 |
[백준] 15684_사다리 조작(DFS) java (0) | 2022.02.23 |
백준_17090_미로탈출하기 (0) | 2022.02.16 |
[형 변환 정리] java, C++ (0) | 2021.11.14 |