반응형

컬렉션 프레임워크 5

자바 컬렉션 프레임워크 - Set

Set의 이론은 이전 포스팅을 참고하도록 하자.https://surrealcode.tistory.com/80 컬렉션 프레임워크 - HashSet직접 구현하는 Set - MyHashSetV1https://surrealcode.tistory.com/79 자바 컬렉션 프레임워크 - 해시(Hash)컬렉션 프레임워크 - Set1 리스트(List) vs 세트(Set)자료구조에서의 List와 Set은 각각 특정한 방식으로 데surrealcode.tistory.com 자바가 제공하는 Set1 - HashSet, LinkedHashSetset : 중복을 허용하지 않고, 순서를 보장하지 않는 구조이다.Collection 인터페이스Collection 인터페이스는 java.util 패키지의 컬렉션 프레임워크의 핵심 인터페이스..

공부/Java 2024.10.01

자바 컬렉션 프레임워크 - 해시(Hash)

컬렉션 프레임워크 - Set1 리스트(List) vs 세트(Set)자료구조에서의 List와 Set은 각각 특정한 방식으로 데이터를 저장하고 관리하는 데 사용된다.List(리스트)정의 : 리스트는 요소들의 순차적인 컬렉션이다. 요소들은 특정 순서를 가지며, 같은 요소가 여러 번 나타날 수 있다.특징- 순서 유지 : 리스트에 추가된 요소는 특정한 순서를 유지한다. 이 순서는 요소가 추가된 순서를 반영할 수 있다.- 중복 허용 : 리스트는 동일한 값이나 객체의 중복을 허용한다. 예를 들어, 같은 숫자나 문자열 리스트 안에 여러 번 저장할 수 있다.- 인덱스 접근 : 리스트의 각 요소는 인덱스를 통해 접근할 수 있다.용도 : 순서가 중요하거나 중복된 요소를 허용해야 하는 경우에 사용된다. Set(세트, 셋)정의..

공부/Java 2024.09.28

자바 컬렉션 프레임워크 List

자바의 다형성과 OCP 원칙을 가장 잘 활용할 수 있는 곳 중 하나가 바로 자료 구조이다.자료 구조에 다형성과 OCP 원칙이 어떻게 적용되는지 알아보자. List자료 구조순서가 있고, 중복을 허용하는 자료 구조를 리스트(List)라고 한다.우리가 지금까지 만든 MyArrayList와 MyLinkedList는 내부 구현만 다를 뿐 같은 기능을 제공하는 리스트이다. 물론 내부 구현이 다르기 때문에 상황에 따라 성능은 달라질 수 있다. 핵심은 사용자 입장에서 보면 같은 기능을 제공한다는 것이다.이 둘의 공통 기능을 인터페이스로 뽑아서 추상화하면 다형성을 활용한 다양한 이득을 얻을 수 있다.같은 기능을 제공하는 메서드를 MyList 인터페이스로 뽑아보자.public interface MyList { int..

공부/Java 2024.09.27

자바 컬렉션 프레임워크 - LinkedList

노드와 연결1배열 리스트의 단점 : 배열 리스트는 내부에 배열을 사용해서 데이터를 보관하고 관리한다. 이로 인해 다음과 같은 단점을 가진다1. 배열의 사용하지 않는 공간 낭비-배열은 필요한 배열의 크기를 미리 확보해야 한다. 데이터가 얼마나 추가될지 예측할 수 없는 경우 나머지 공간은 사용되지 않고 낭비된다. 2. 배열의 중간 데이터 추가- 앞이나 중간에 데이터를 추가하거나 삭제하는 경우 많은 데이터를 이동해야 하기 때문에 성능이 좋지 않다.  노드와 연결노드와 연결 구조를 사용하면 이 문제를 해결할 수 있다.낭비되는 메모리 없이 딱 필요한 만큼만 메모리를 확보해서 사용하고, 또 앞이나 중간에 데이터를 추가하거나 삭제할 때도 효율적인 자료구조이다. 노드를 만들고 각 노드를 서로 연결하는 방식이다. pub..

공부/Java 2024.09.26

자바 컬렉션 프레임워크 - ArrayList

배열의 특징 1- 배열과 인덱스배열과 같이 여러 데이터(자료)를 구조화 해서 다루는 것을 자료 구조라한다.자바는 배열 뿐만 아니라, 컬렉션 프레임워크라는 이름으로 다양한 자료 구조를 제공한다.컬렉션 프레임워크와 자료 구조를 설명하기 전에 먼저 자료 구조의 가장 기본이 되는 배열의 특징을 알아보자.public class ArrayMain1 { public static void main(String[] args) { int[] arr = new int[5]; //index 입력 : O(1) System.out.println("==index 입력: O(1)=="); arr[0] = 1; arr[1] = 2; arr[2] = 3; ..

공부/Java 2024.09.25
반응형