목록자료구조 (6)
남극

List 리스트는 배열과 비슷한 자바의 자료형이고 편리한 기능을 상당히 많이 가지고 있습니다 List의 종류 리스트 또한 컬렉션입니다 리스트의 종류로는 이렇게 있습니다 LinkedList: 메모리를 효율적으로 관리하기 위해서 사용, 저장 용량을 늘릴 때 빠름, 데이터 참조 매우 느림, 데이터 삭제 매우 빠름 ArrayList: 저장 용량을 늘릴 때 많은 시간이 소요됨, 저장 용량 늘릴 때 느림, 데이터 참조 매우 빠름, 데이터 삭제 매우 느림 Vector: ArrayList와 비슷하나 동기화 처리의 차이가 있다 오늘은 ArrayList에 대해 알아보도록 하겠습니다 ArrayList ArrayList의 장점부터 다시 한번 알아보도록 하겠습니다 1. 동적으로 크기 변경이 가능하다 2. 특정 위치에..

Map Map의 계층구조입니다 한번 가볍게 보시고 넘어가는 것을 추천드립니다 Map 이란? Map은 Collection Framework에 Map으로 나누어진 객체로 Key, Value 형식을 가지고 있습니다 가장 대표적인 예시로는 아이디와 비밀번호가 있습니다 이 Map의 특징을 정리하자면 3가지로 크게 나눌 수 있습니다 Key는 중복일 수 없다. Key와 Value는 하나만 존재하지 않는다 Value는 중복이 가능하다 이렇게 3가지가 Map의 특징이라고 할 수 있습니다 특징이라고 할 수도 있지만 제약이라고도 표현이 가능할 것 같습니다 HashMap user = new HashMap(); user.put(1, "one"); user.put(2, "two"); user.put(3, "three"); Sys..
Generics는? 우선 제네릭스는 JDK 1.5 버전에서 처음 나왔으며 그 당시에는 선택적으로 사용하는 방식으로 사용되었으나 요즘 API들을 보면 제네릭스를 모른다면 이해하기가 힘들 정도로 많이 쓰입니다 Generics 란? 제네릭스의 정의는 "다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능" 이라고 정의되어 있습니다. 이게 만 보고는 이해가 쉽지 않죠. 그래서 예시를 보여드리겠습니다 ArrayList list = new ArrayList(); 이 ArrayList라는 컬렉션 클래스는 다양한 종류의 객체를 담을 수도 있지만 보통은 한 가지의 객체의 값을 넣어주는 경우가 많습니다 이 클래스에서 값을 꺼낼 때마다 작업을 해주는 것은 상당히 불편합니다. 이럴 ..

Queue 큐는 스택과 비슷한 개념을 가지고 있습니다. 삽입과 삭제의 위치가 제한되어 있다는 공통점을 가지고 있지만 스택과는 다르게 한 쪽에서는 데이터가 들어오고 한 쪽에서는 데이터를 삭제합니다. rear에서 값을 삽입하고 front에서 값을 삭제하는 형식을 가지고 있습니다. 먼저 들어온 값이 가장 먼저 삭제되는 구조로 FIFO라고 합니다. 큐의 rear에서 삽입 연산을 하는 것을 인큐라고 부릅니다. 반대로 프런트에서 삭제 연산을 하는 것은 디큐라고 합니다. (enqueuer, dequeuer) Queue 메서드 offer 큐에 객체를 넣는 역할을 합니다 poll 큐에서 객체를 가져오는 역할을 합니다. 큐에 값이 없을 시 null을 반환합니다. peek 큐의 가장 아래에 있는 객체를 반환합니다.(rear..

Stack 우선 stack이 무엇이냐 하면 사전적 정의로는 쌓아 올린다는 뜻을 가지고 있습니다. 한 방향에서 쌓아 올리는 형태의 자료구조를 뜻합니다. 사진을 보시면 첫 번째 값은 가장 마지막에 저장되어 있는 것을 보실 수 있습니다. 위에 쓰여있듯이 후입 선출의 구조를 가지고 있습니다. 해석하자면 마지막에 들어온 값이 가장 먼저 나간다는 뜻입니다. 가장 먼저 들어온 것이 가장 마지막에 나간다고 보실 수도 있습니다. 이것을 간단하게 LIFO(Last-In-Last-Out)라고 칭합니다. 스택에는 TOP이라는 개념이 있습니다. 이 top이라는 곳으로만 데이터에 접근하도록 제한하는 것입니다. 다른 곳으로는 데이터가 들어오지 않도록 말입니다. Stack 클래스의 계산 push 스택의 탑에 아이템을 삽입 pop 스..
kkkthshttps://blog.naver.com/kkkths/221760312903 JAVA - ArrayList와 Vector의 차이점 안녕하세요이번에는 이전에 언급했던 ArrayList와 Vector의 차이점에 대해서 포스팅을 하려고 합니다저 ... blog.naver.com https://blog.naver.com/kkkths/221757092896 JAVA - 자료구조(List) 안녕하세요오늘은 JAVA의 반하게 된 첫 번째 이유인 List에 대해 포스팅하려고 합니다List 또한 Col... blog.naver.com https://blog.naver.com/kkkths/221755894067 JAVA - 자료구조(Map) 안녕하세요오늘은 값을 연결해주는, 파이썬의 딕셔너리와 같은 역할을 하는..