본문 바로가기

전체 글

(374)
Set 인터페이스 Set 인터페이스란?Java에서 set 인터페이스는 java.util 패키지의 일부로, 중복을 허용하지 않는 유일한 요소들을 저장하는데 사용된다. 이 인터페이스는 컬렉션 프레임워크의 일부이며, 순서에 의존하지 않는 데이터 집합을 관리하기 위해 설계되었다. 주요 특징중복 허용 불가 : set 에 같은 요소를 추가하려고 하면 추가가 되지 않는다. 즉, 모든 요소가 고유해야 하며 이미 존재하는 요소를 추가할 경우 무시된다.순서를 보장 하지 않음 : set 은 요소들의 순소를 유지하지 않는다. 요소들이 내부적으로 어떻게 저장되고 관리되는지 set 을 구현하는 클래스에 따라 다르다. 따라서 요소들이 추가된 순서와 set 에서 요소를 순회할 때의 순서가 다를 수 있다.값의 유일성 : set 은 각 요소의 유일성을 ..
List 인터페이스 List 인터페이스란?자바에서 객체를 순서대로 저장하고 관리할 수 있도록 설계된 인터페이스이다. 자바의 java.util 패키지에 속하며, 배열이나 연결 리스트 등의 순차적 자료 구조의 구현제를 위한 메서드를 정의한다. List 인터페이스의 주요 특징순서 유지 : List 인터페이스를 구현하는 자료 구조는 원소들이 삽입된 순서를 유지한다. 이는 원소들이 리스트 내에서 특정 위치(index)를 가지며, 이 인덱스를 통해 접근할 수 있다는 것을 의미한다.중복 허용 : List 는 같은 값을 가진 원소의 중복 저장을 허용한다. 예를 들어, 같은 값을 여러번 리스트에 추가할 수 있으며, 이는 리스트의 크기를 증가시키고 각각의 원소는 별도의 인덱스를 가지게 된다.가변 크기 : List 의 구현제들은 동적으로 크기..
컬렉션 프레임워크 (Collection Framework) 컬렉션 프레임워크(collection framework)란?자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현된다. 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리 이다.java.util 패키지에 구현되어 있다.개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있다.여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요하다.
LinkedList 구현하기 LinkedList 특징동일한 데이터 타입을 순서에 따라 관리하는 자료 구조자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있다자료가 추가 될 때 노드 만큼의 메모리를 할당받고 이전 노드의 링크로 연결함 (정해진 크기가 없다)jdk 클래스 : LinkedList  하나의 요소를 저장하는 기능 설계package structure.ch04;public class MyLinkedList { private Node head; // 요소의 맨 처음을 가리킴 private int count; // 링크드리스트에 몇개의 요소가 연결 되어 있는 개수 // MyLinkedList 맨 처음 생성시 노드는 없는 상태 public MyLinkedList() { head = null; count..
큐 ( 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() ..

728x90