분류 전체보기134 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. 문자 기반 스트림 - 파일 입출력/Copy/ZIP 자바 입출력(I/O) 시스템은 크게 두 가지 유형의 스트림을 제공한다. 바이트 기반 스트림과 문자 기반 스트림이다. 문자 기반 스트림은 텍스트 데이터(문자 데이터)를 처리할 때 사용된다. ■ 문자 인코딩 처리 : 문자 기반 스트림은 자동으로 플랫폼의 기본 문자 인코딩을 사용하여 문자 데이터를 올바르게 인코딩하거나 디코딩한다. 이는 다양한 문자 인코딩을 처리하면서 발생할 수 있는 복잡성을 추상화하고, 개발자가 문자 데이터를 쉽게 처리할 수 있도록 돕는다. ■ 국제화 지원 : 유니코드와 같은 다국어 지원을 통해 전 세계적으로 소프트웨어를 배포할 때 필수적이다. 문자 기반 스트림을 사용하면 다양한 언어 문자 처리가 간편해진다. ■ 가독성 및 편의성 : 문자 데이터를 읽고 쓰는 코드를 작성할 때 문자 기반 .. 2024. 5. 21. 바이트 기반 - 파일 입출력/Copy 바이트 기반에 입력 스트림을 활용해서 파일에 있는 데이터 읽어보기더보기package io.file.ch01;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class MyFileInputStream { public static void main(String[] args) { // 외부에 있는 파일 데이터를 읽을려면 input FileInputStream in = null; try { in = new FileInputStream("a.txt"); // 1단게// int readData = in.read(); // 2단계// System.out.pr.. 2024. 5. 20. 이전 1 ··· 13 14 15 16 17 18 19 ··· 23 다음