HashSet.contains() vs ArrayList.contains() 효율성이 필요할때는 HashSet를 사용하자! HashSet.contains() > 내부적으로 HashSet 구현은 HashMap 인스턴스를 기반으로 한다 평균적으로 HashSet의 conti
데이터 추가V put(K key, V value) : key와 value를 저장합니다. void putAll(Map<? extends K, ? extends V> m) : Map m에 저장된 모든 Element를 HashMap에 저장합니다.V putIfAbsent
Set의 특징을 그대로 상속. 비선형구조이므로 key의 중복을 허용하지 않고 순서가 없다. 인덱스도 없음. 만약 값을 추가하거나 삭제하려면 그 값이 내부에 있는지 검색한 후 추가, 삭제해야하므로 속도가 List 구조에 비해 느림.종류 : HashSet(정렬x), Tre

ArrayList<...>는 배열을 리스트로 관리하면서 삽입/삭제가 많을 때 유용함.ArrayList는 동적 배열이므로 크기가 고정되어있지 않음.ArrayList 생성, 요소 추가, 길이 구하기list.length 같은 속성은 존재하지 않음! (ArrayList는
1차원 배열에서 System.out.println(arr); 를 하면 배열의 내용을 출력하는 것이 아니라 배열의 참조 정보가 출력됨. 배열 객체의 타입 + 해시코드를 문자열로 변환해서 출력 ex) [I@1a2b3c4 [I → int 배열이라는 뜻 @... → 해시코
toCharArray()는 Java의 String 클래스에 포함된 메서드로, 문자열을 문자 배열 char\[]로 변환해주는 함수이다.StringTokenizer는 입력 문자열을 공백 또는 지정된 구분자로 나눔toCharArray()는 문자열을 문자 단위로 쪼갬ex) a
LinkedList는 ArrayList와 마찬가지로 List를 구현한 클래스이므로 ArrayList와 비슷한 메소드를 구현하고있다.LinkedList 각각의 노드가 next와 prev 노드값을 내부적으로 가지고있어 추가, 삭제가 용이하며 변경되는 노드만 다시 연결해주면
스택은 가장 늦게 들어온 데이터가 가장 먼저 빠져나가는 후입선출(LIFO : Last In First Out) 구조이다. 데이터의 출입 방향이 같은 단방향 입출력 구조이며 데이터를 하나씩 넣고 뺄 수 있다.깊이 우선 탐색(DFS)에 이용되며 재귀 함수의 동작 흐름과 같
Deque : Double-Ended Queue이름 그대로 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료구조 FRONT <--> <--> <--> <--> REAR ↑ ↑ 넣을 수 있음 넣을
자바 람다식 내부에서는 외부 지역 변수를 사용할 수 있다!그러나 그 변수는 final 또는 effectively final이어야 한다.effectively final : 한 번 초기화 된 이후로 절대 수정되지 않는 변수.그러나 아래와같이 변수의 값을 변경하려하면 컴파일
✔ FIFO 구조 (First In First Out)✔ front는 삭제 연산 수행✔ rear는 삽입 연산 수행✔ 그래프의 넓이 우선 탐색(BFS)에 사용✔ 컴퓨터 버퍼에서 주로 사용LinkedList를 활용하여 생성enqueue : 성공시 true 리턴add() :
HashMap 문법에 대한 정리는 아래 포스트를 참조https://velog.io/@seha01130/HashMap이란-메소드-종류-정리기본적으로 HashMap은 순서를 보장하지 않기때문에 정렬이 필요하다면 별도의 조치가 필요하다.아래처럼 <String,
java.util.Arrays 클래스를 활용정렬 범위를 지정할 수도 있다.Arrays.sort(배열, 시작인덱스, 끝인덱스(불포함))객체타입 배열로 변환 후 내림차순 진행배열 뒤집기
대소문자를 구분하지 않으면 a와 A는 같은 레벨로 취급된다.따라서 원래의 순서대로 출력됨위의 코드 원본에서 a A 순서이며 B b 순서로 되어있으므로오름차순과 내림차순에서 모두 a가 A 앞에, B가 b 앞에 위치한다.대소문자를 구분하지 않으면 a와 A는 같은 레벨로 취
Java의 Stream은 배열이나 컬렉션을 처리할 때 함수형 스타일로 간결하고 선언적으로 코딩할 수 있게 도와주는 기능이다.예를 들어 문자열로 입력된 숫자의 연속들을 공백 기준으로 나누어 int형 배열에 저장하는 코드를 짠다고 해보자. 보통은 아래처럼 짤 것이다.만약
List의 toArray() 메소드는 List를 배열(Array)로 변환할 때 사용한다.리스트의 요소들을 Object 배열로 변환한다.타입이 Object\[]로 고정되므로, 형변환(casting)이 필요함.지정한 타입의 배열로 변환한다.배열 크기가 리스트보다 작으면 새
Java의 Queue 인터페이스를 구현한 클래스 중 하나이다.넣은 순서대로 꺼내는 일반 Queue와 다르게, 항상 우선순위가 높은 요소를 먼저 꺼낸다.내부적으로 힙(Heap) 자료구조를 사용해서 동작한다.일반 큐는 선형 구조이지만, 우선순위 큐는 논리적으로는 이진 힙(