Java/Data Structure(자료구조)7 Set 인터페이스 Java에서 Set 인터페이스는 java.util 패키지의 일부이다. 중복을 허용하지 않는 유일한 요소들을 저장하는데 사용된다. 이 인터페이스는 컬렉션 프레임워크의 일부이며, 순서에 의존하지 데이터 집합을 관리하기 위해 설계되었다. Set 주요 특징■ 중복 허용 불가 : Set에 같은 요소를 추가하려고 하면 추가가 되지 않는다 .즉 모든 요소가 고유해야 하며, 이미 존재하는 요소를 추가할 경우 무시된다. ■ 순서 보장하지 않음 : Set는 요소들의 순서를 유지하지 않는다. 요소들이 내부적으로 어떻게 저장되고 관리되는지는 Set를 구현하는 클래스에 따라 다르다. 따라서 요소들이 추가된 순서와 Set에서 요소를 순회할 때의 순서가 다를 수 있다.■ 값의 유일성 : Set는 각 요소의 유일성을 보장한다. 이는.. 2024. 5. 24. List 인터페이스 컬렉션 프레임워크(collection framwork)자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. 즉 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현된다. ● 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK라이브러리이다.● java.util 패키지에 구현되어 있다.● 개발에 소요되는 시간을 절약하면서 최적화된 알고리즘을 사용할 수 있다.● 여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요하다.List 인터페이스자.. 2024. 5. 24. LinkedList 구현 LinkedList 특징동일한 데이터 타입을 순서에 따라 관리하는 자료구조자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있다.자료가 추가될 때 노드만큼의 메모리를 할당받고 이전 노드의 링크로 연결한다.(정해진 크기가 없다)jdk클래스 : LinkedList 하나의 요소를 저장하는 기능 설계package structure.ch04;public class MyLinkedList { private Node head; // 요소의 맨 처음을 가리킴 private int count; // 링크드리스트에 몇개의 요소가 연결 되어 있는 개수 // MyLinkedList 맨 처음 생성시 노드는 없는 상태 public MyLinkedList() { head = null; count = .. 2024. 5. 24. Queue 큐 구현하기 Queue■ 데이터를 저장하는 선형 자료구조.■ 선입선출(FIFO = First In First Out). 한 쪽 끝에서는 자료의 삽입 연산만 가능, 반대쪽 끝에서는 삭제만 가능한 구조. Queue 특징■ 맨 앞(front)에서 자료를 꺼내거나 삭제하고, 맨 뒤(rear)에서 자료를 추가한다.■ FIFO■ 일상생활에서 일렬로 줄 서있는 모양■ 순차적으로 입력된 자료를 순서대로 처리하는데 많이 사용된다.■ 콜센터에 들어온 문의 전화, 메시지 등에 활용■ jdk클래스 : ArrayList 일반 큐의 동작 방식package structure.ch03;//배열 끝에 도달했을 때 자동으로 시작 위치로 돌아가지 않으므로 순환 구조가 아닌 일반 큐의 동작 방식.public class IntArrayQueue { p.. 2024. 5. 24. 배열로 Stack 구현하기 Stack■ 스택은 데이터를 일시적으로 저장하기 위한 선형 자료구조이다.■ 후입선출(Last In, First Out = LIFO) 원칙을 따른다. +) 접시를 쌓아두었다가 맨 위에 것부터 꺼내쓰는 것과 비슷하다. Stack 주요 연산● Push : 스택에 요소를 추가하는 연산. 스택 맨 위에 새로운 요소를 놓는다. ● Pop : 스택에서 요소를 제거하는 연산. 스택 맨 위에 있는 요소를 꺼내서 삭제한다. ● Peek 또는 Top : 스택 맨 위에 있는 요소를 반환만 한다. (제거X) 스택 최상위 요소 확인할 때 사용. ● IsEmpty : 스택이 비어있는지 확인. 비어있다→ true, 비어있지 않다→false 반환. ● Size : 스택에 저장된 요소가 몇 개인지 개수를 반환. package stru.. 2024. 5. 24. 배열로 객체 만들기 배열 기본 개념 복습● 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조● 배열은 정해진 크기가 있다.● 요소를 추가, 삭제시 다른 요소가 이동해야 한다.● 배열 i번째 요소를 찾는 인덱스 연산이 빠르다.● jdk클래스 : ArrayList, Vector removeElement 에 버그 존재 하는 상황 - stack 자료구조 구현시 수정 예정 package structure;/** * 배열을 활용 클래스를 설계 물론 --> 이미 자바 표준 API 개발자들이 잘 만들어 준 클래스 들이 존재 한다. 하지만 직접 기능을 * 확장해서 만들어 보자. */public class TencoIntArray { int[] intArr; int count; // 배열안에 들어간 요소의 갯수 public final i.. 2024. 5. 24. 이전 1 2 다음