본문 바로가기

전체 글

(354)
큐 ( Queue ) 구현하기 Queue란?큐 Queue는 데이터를 저장하는 선형 자료구조로, 차례를 기다리는 줄이라는 의미를 가지고 있는 단어처럼 먼저 들어온 자료부터 순서대로 처리하는 방식을 말한다. 한 쪽 끝에서는 자료의 삽입 연산만 가능하고 반대쪽 끝에서는 삭제만 가능한 구조로서 선입선출(First In First Out : FIFO)의 특징을 가진다. Queue의 특징맨 앞(front) 에서 자료를 꺼내거나 삭제하고, 맨 뒤(rear)에서 자료를 추가 함First In First Out (선입선출) 구조일상 생활에서 일렬로 줄 서 있는 모양순차적으로 입력된 자료를 순서대로 처리하는데 많이 사용되는 자료구조콜센터에 들어온 문의 전화, 메세지 큐 등에 활용됨jdk 클래서 : ArrayListpackage structure.ch0..
EventListener (이벤트 리스너) package ch05;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;/** * 이벤트 리스너를 사용하는 방법 * 1. implements ActionListener 사용하는 방법 ActionListener -> 운영 * 체제가 제어하는 이벤트를 등록할 수 있다. */public class ColorChangeFrame extends JFrame implements ActionListener { // 이벤트 리스너에 대한 개념을 이해하자. private JButton button1; ..
JLabel을 이용한 이미지 겹치는 방법 package ch04;import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;/** * JLabel 을 이용해서 이미지를 다룰 수 있다. * JLabel.add(); 메서드를 통해서 이미지를 겹칠 수 있다. * 좌표 기준으로 이미지를 세팅하려면 * 배치관리자를 null 값으로 세팅해야 한다. */public class MyFrame extends JFrame{ private JLabel backgroundMap; private JLabel player; public MyFrame() { initData(); setInitLayout(); } public void ..
ImageIcon을 활용한 이미지 사용하는 방법 package ch03;import java.awt.Graphics;import java.awt.Image;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JPanel;/** * 중첩 클래스 -> 외부, 내부 클래스로 내부 * 내부 클래스로 -> 인스턴스 클래스, static 클래스 */public class MyImageFrame extends JFrame{ // 내부 클래스로 정의한 데이터 타입이다. private MyImagePanel myImagePanel; public MyImageFrame() { initData(); setInitLayout(); } public void initData() ..
기본 컴포넌트 확인 아이디, 비밀번호, 동의 체크 박스package ch02;import java.awt.FlowLayout;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPasswordField;import javax.swing.JTextField;public class MyComponents extends JFrame{ private JButton button; private JLabel label; private JTextField textField; private JPasswordField passwordField; private JCh..
배열을 활용한 Stack 구현해보기 Stack에 대한 기본적인 개념스택(Stack)은 데이터를 일시적으로 저장하기 위한 선형 자료구조로, "후입선출" (Last In, First Out :: LIFO) 원칙을 따릅니다. 이 원칙은 가장 마지막에 추가된 요소가 가장 먼저 제거된다는 것을 의미한다. 스택을 일상생활의 예로 설명하면, 식당에서 사용된 접시를 쌓아 두었다가 사용할 때 가장 위에 있는 접시부터 꺼내는 것과 비슷하다.스택의 주요 연산Push : 스택에 요소를 추가하는 연산이다. 스택의 맨 위에 새로운 요소를 놓는다.Pop : 스택에서 요소를 제거하는 연산이다. 스택의 맨 위에 있는 요소를 꺼내며, 그 요소는 스택에서 삭제된다.Peek, Top : 스택의 맨 위에 있는 요소를 반환하지만, 제거하지는 않는다. 스택의 최상위 요소를 확인할..
Java 배열을 활용한 객체 만들기 배열에 대한 기본 개념 복습동일한 데이터 타입을 순서에 따라 관리하는 자료 구조정해진 크기가 있음 (배열)요소의 추가와 제거시 다른 요소들의 이동이 필요함배열의 i 번째 요소를 찾는 인덱스 연산이 빠름JDK 클래스 : ArrayList, Vectorpackage structure;/** * 배열을 활용한 클래스를 설계 물론 이미 자바 표준 API 개발자들이 잘 만들어 준 클래스들이 존재한다. * 하지만 직접 기능을 확장해서 만들어보자. */public class TencoIntArray { int[] intArr; int count; // 배열 안에 들어간 요소의 갯수 public final int ARRAY_SIZE; public static final int ERROR_NUM = -99999999; ..
자료구조 개론 ( Data Structure ) 자료구조(Data Structure)란?자바에서 자료구조는 데이터를 효율적으로 구성하고 조작하기 위한 방법을 제공하는 클래스와 인터페이스의 모음이다. 이러한 자료구조는 다양한 요구 사항에 맞게 설계되어 있으며, 데이터를 삽입, 삭제, 검색, 정렬 등의 작업을 효율적으로 수행할 수 있도록 지원한다. 자바에서 제공하는 자료구조에는 배열, 리스트, 스택, 큐, 집합, 맵 등이 포함된다. 이러한 자료구조는 다양한 상황에서 사용될 수 있으며, 프로그램의 성능과 효율성을 향상시키는데 중요한 역할을 한다. 또한 자바 컬렉션 프레임워크 (Collection Framework)는 다양한 자료구조를 표준화하여 제공하여, 개발자들이 더욱 쉽게 자료구조를 활용할 수 있도록 도와준다.프로그램에서 사용할 많은 데이터를 메모리 상..

728x90