전체 글 295

[JAVA] Map 인터페이스

Map은 키(key)와 값(value)을 연관시키는 자료구조이다. 이는 사전과 유사한 구조로, 각 키는 고유한 값을 가진다.Java에서 Map은 인터페이스로 정의되어 있으며, 이를 구현한 여러 가지 클래스가 있다. Map 주요 특징키-값 저장: Map은 키(key)와 값(value)의 쌍으로 데이터를 저장한다. 각 키는 고유해야 하며, 하나의 값에만 매핑된다.중복 키 불가: Map은 각 키가 고유해야 한다. 따라서 동일한 키를 두 번 이상 추가할 수 없다. 키의 유일성은 Map 내에서 보장된다.순서 보장하지 않음: Map은 키-값 쌍을 저장하는데 순서를 유지하지 않는다. 따라서 Map에 저장된 순서와 데이터를 순회할 때의 순서는 일치하지 않을 수 있다. Map 주요 기능 및 메서드키-값 저장: Map은 ..

JAVA/Java 기초 2024.05.16

[JAVA] 도전! - 영화 평점 관리 시스템

예제 개념: 영화 평점 관리 시스템상황 설명: 사용자가 영화에 평점을 주고, 평점에 따라 영화 추천 목록을 관리하는 시스템입니다. 사용자는 영화에 1부터 5까지의 평점을 줄 수 있으며, 평점이 높은 영화부터 낮은 순으로 정렬하여 보여줍니다.import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Comparator;public class MovieRayiongSystem { public static void main(String[] args) { // Movie object 계속 추가하는 자료구조 ArrayList movies = new ArrayList(); movies.ad..

JAVA 2024.05.16

[JAVA] 프레임워크(collection framework)

자바에서 컬렉션 프레임워크(collection framework)란다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미.즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현. ● 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리 이다.● java.util 패키지에 구현되어 있음● 개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있음 (만들어져 있는 걸 활용)● 여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요함   List 인터페이스 - 1자바에서 객체를 순서대로 ..

JAVA/Java 기초 2024.05.16

[JAVA] 자바 I/O 개론

자바 I/O (입출력)데이터를 읽고 쓰는 기능파일, 네트워크, 다른 프로그램 등 다양한 소스와 대상으로부터 데이터를 주고 받는데 사용됨자바의 I/O 시스템은 크게 네 가지 주요 구성 요소로 나룰 수 있다(바이트 기반 스트림, 문자 기반 스트림, 버퍼링 스트림 그리고 고수준의 스트림으로 분류할 수 있음) 💡  Stream 이라는 단어를 살펴보자스트림(Stream)은 데이터를 순차적으로 처리하는 일련의 연속된 데이터 요소들이다. 자바에서 스트림은 데이터의 흐름을 읽고 쓰는 데 사용되는 추상적인 개념으로, 입출력 작업을 수행할 때 데이터를 한 곳에서 다른 곳으로 이동시키는 매개체 역할을 한다.주의!자바에서 '스트림'이라는 용어는 두 가지 맥락에서 사용된다. 하나는 I/O에 관련된 데이터 흐름을 처리하는 스트..

JAVA/Java 기초 2024.05.16

[JAVA] LinkedList

1. LinkedList 에 특징을 알아 보자2. LinkedList 구현해 보기자기 참조 관계-  자기 참조는 객체가 자신과 같은 타입의 다른 객체를 가리키는 경우를 말한다.- 용도 -> 연결 리스트, 트리 구조에 많이 활용 LinkedList 특징동일한 데이터 타입을 순서에 따라 관리하는 자료 구조자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있음자료가 추가 될때 노드 만큼의 메모리를 할당 받고 이전 노드의 링크로 연결함 (정해진 크기가 없음)jdk 클래스 : LinkedList52라는 데이터를 찾으려면 Head에서부터 차례차례로 찾는다 -> next : 하나의 요소를 저장하는 기능 설계 package structure.ch04;public class MyLinkedList {..

JAVA/Java 기초 2024.05.08

[JAVA] BUBBLE GAME(버블 게임) 10단계

적군 생성 및 버블 수정파일 (new 파일 ->  BackgroundEnemyervice, Enemy, EnemyWay)인터페이스 파일enum 파일package Bubble.ex10;import javax.swing.ImageIcon;import javax.swing.JLabel;public class Player extends JLabel implements Moveable { BubbleFrame mContext; private int x; private int y; private ImageIcon playerR, playerL; // 움직임의 상태 private boolean left; private boolean right; private boolean up; private boolean dow..

JAVA/Java 응용 2024.05.08

[JAVA] BUBBLE GAME(버블 게임) 9단계

버블 생성 동작 수정!  (BubbleFrame - 컨텍스트 생성 , Player getter 생성) 파일인터페이스 파일Enum 파일 인터페이스 파일과 Enum파일 수정 사항 없음 (8단계)  package Bubble.ex09;import javax.swing.ImageIcon;import javax.swing.JLabel;public class Player extends JLabel implements Moveable { BubbleFrame mContext; private int x; private int y; private ImageIcon playerR, playerL; // 움직임의 상태 private boolean left; private boolean right; private boole..

JAVA/Java 응용 2024.05.07

[JAVA] BUBBLE GAME(버블 게임) 8단계

물방울 벽 감지! (쓰레드 사용 x)파일 (new 파일 -> BackgrundBubbleService 파일)인터페이스 파일Enum 파일package Bubble.ex08;import javax.swing.ImageIcon;import javax.swing.JLabel;public class Player extends JLabel implements Moveable { private int x; private int y; private ImageIcon playerR, playerL; // 움직임의 상태 private boolean left; private boolean right; private boolean up; private boolean down; // 벽에 충돌한 상태 private boolea..

JAVA/Java 응용 2024.05.07

[JAVA] 큐(Queue)

큐 Queue란?- 데이터를 저장하는 선형 자료구조 - 차례를 기다리는 줄이라는 의미를 가지고 있는 단어처럼 먼저 들어온 자료부터 순서대로 처리하는 방식을 말한다.- 한 쪽 끝에서는 자료의 삽입 연산만 가능하고 반대쪽 끝에서는 삭제만 가능한 구조(FIFO : First In First Out)의 특징을 가진다. Queue의 특징 맨 앞(front) 에서 자료를 꺼내거나 삭제하고, 맨 뒤(rear)에서 자료를 추가 함Fist In First Out (선입선출) 구조일상 생활에서 일렬로 줄 서 있는 모양순차적으로 입력된 자료를 순서대로 처리하는데 많이 사용 되는 자료구조콜센터에 들어온 문의 전화, 메세지 큐 등에 활용됨jdk 클래스 : ArrayList capacity   은 용량을 정의할 때 많이 쓰임 실..

JAVA/Java 기초 2024.05.07