0. Set 중복된 요소를 허용하지 않고, 기본적으로 순서가 없는 배열 (집합의 성격) 1. HashSet : 해시->빠르다! 순서 없음! null값 저장가능! 특징: 해시 테이블을 기반으로 한 Set 구현체입니다. 순서를 보장하지 않고, 중복된 요소를 허용하지 않습니다. null 값을 저장할 수 있습니다. 사용 이유: 빠른 검색 속도를 제공합니다. *해시 기반으로 구현되어 있어서 요소를 빠르게 찾을 수 있습니다. 순서가 중요하지 않은 경우에 사용됩니다. 더보기 * 해시(Hash) 기반? 일관성: 동일한 입력에 대해 항상 동일한 해시 코드를 생성합니다. 고유성: 서로 다른 입력은 가능한 한 서로 다른 해시 코드를 생성합니다. 고속성: 빠르게 해시 값을 계산할 수 있어야 합니다. 해시 기반의 자료구조들(예..
Backend
ArrayList LinkedList 장점 빠른 임의 접근: 인덱스를 이용한 원소 접근 및 검색이 빠릅니다. get() 메서드를 사용하여 특정 인덱스의 원소에 빠르게 접근할 수 있습니다. 저장 및 읽기가 빠름: 내부적으로 배열을 사용하기 때문에 요소들을 메모리에 연속적으로 저장합니다. 적은 메모리 사용: 요소들을 저장하는 데에 필요한 추가적인 포인터나 노드를 사용하지 않아 메모리를 적게 사용합니다. 요소 삽입 및 삭제가 빠름: 요소를 삽입하거나 삭제할 때 add() 및 remove() 메서드의 성능이 좋습니다. 리스트의 시작 또는 끝에 요소를 추가하거나 삭제할 때는 더욱 빠릅니다. 메모리의 동적 사용: 요소를 추가하거나 삭제할 때마다 새로운 노드를 할당하여 메모리를 유연하게 사용합니다. 단점 요소 삽입 ..
3-1.객체지향 프로그래밍 이해 객체 (Object) 의사나 행위가 미치는 대상 ( 사전적 의미 ) 구체적, 추상적 데이터의 단위 ( 학생, 회원, 생산, 주문, 배송 ) 세상에 존재하는 물체, 식별이 가능한 것 객체는 속성과 행위로 구성되어있다. ex ) 자동차의 속성과 행위를 표현해 보겠습니다. 자동차는 회사, 모델, 색상, 가격, 속도 등의 속성을 가질 수 있습니다. 자동차는 가속, 브레이크, 기어변속, 조명, 경적등의 행위를 가질 수 있습니다. Java 에서는 이러한 속성과 행위를 필드와 메서드로 정의하여 구현할 수 있습니다. 객채 간의 관계 - 사용 관계 : 사람 객체는 자동차 객체를 사용. - 포함 관계 : 타이어 객체, 차문 객체, 핸들 객체는 자동차 객체에 포함 - 상속 관계 : 공장에 자..
2-14 컬렉션 Java 에서 컬렉션 은 배열보다 다수의 참조형 데이터를 더 쉽고 효과적으로 처리할 수 있는 기능을 많이 가지고 있다 컬렉션 기능 : 크기 자동조정/ 추가/ 수정/ 삭제/ 반복/ 순회/ 필터/ 포함확인 등…. 컬렉션 종류 Collection 에는 List, Set , Queue , Map 이 있다. - List : 순서가 있는 데이터의 집합 (데이터 중복 허용) - 배열과 비슷 Queue : 빨대처럼 한쪽에서 데이터를 넣고 반대쪽에서 데이터를 뺄 수 있는 집합 - First In First Out(FIFO) : 먼저들어간 순서대로 값을 조회할 수 있다. Stack은 First in Last Out(FILO) Set : 순서가 없는 데이터의 집합 (데이터 중복 허용 안함) - 순서없고 중복..
2-13 다차원 배열 1. 2차원 배열(2열 배열), 순회 선언방법 int[][] array int array[][] int[] array[] 생성 -> 생성도 대괄호 하나 더 추가하면 됨. int[][] array = new int[][]; [][] 에서 []은 방번호, 뒤의 []는 앞 방의 크기 라고 이해하면 쉬웠다. 2차원 배열 초기화 방법 1. 중괄호로 값을 지정하여 선언과 동시에 초기화 // 중괄호를 사용해 초기화 int[][] array = { {1, 2, 3}, {4, 5, 6} }; 2. 선언/생성 후 반복을 통한 초기화 package week02.array; public class Arr06 { public static void main(String[] args) { // 반복문을 통한 ..
2-11 배열 (Array) - 선언 int와 같은 기본형 변수는 1개의 값만 변수에 저장할 수 있음 int[] 와 같은 배열형 변수는 여러개의 변수에 저장 가능! - 여러개를 하나의 변수에 넣어놓고 들고다니거나 하나씩 꺼내 쓸 수 있다는 점에서 분류통의 개념과 비슷 - 단, 하나의 배열형 변수에는 같은 타입의 변수만 담을 수 있음 ( = 김치통엔 김치만~) 한번에 많은 양의 데이터를 다루거나 계산할 때 사용 -> for문 등 반복문과 같이 사용. length와 같이 사용하기도함 선언방법 예시 1. 타입 [] 변수; 0~7번까지 있음 - 타입별 초기값으로는 int는 0, boolean은 false, String은 null package week02.array; public class Arr01 { pub..