전체 글

전체 글

    Java-자료구조 (Linked-List)

    1. 링크드 리스트 (Linked List) 구조 연결 리스트라고도 함 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조 링크드 리스트는 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조 링크드 리스트 기본 구조와 용어 노드(Node): 데이터 저장 단위(데이터 값, 포인터)로 구성 포인터(pointer): 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 2. 간단한 링크드 리스트 예 최대한 간단한 형태로 코드를 작성해보며 링크드 리스트를 이해해보기 2-1. Node 클래스 구현 // src/com.company/Node.java package com.company; // Node 클래스 구현 public class Node { private ..

    Java-자료구조 (Stack)

    STACK 데이터를 제한적으로 접근할 수 있는 구조 큐 : FIFO정책 스택 : LIFO정책 대표적인 스택의 활용 컴퓨터 내부의 프로세스 구조의 함수 동작방식 주요 기능 push(): 데이터를 스택에 넣기 pop() : 데이터를 스택에서 장점 구조가 단순하다 데이터 저장/읽기 속도가 빠르다 단점 (일반적인 스택 구현시) 데이터 최대 갯수를 미리 정해야 한다. 미리 최대 갯수만큼 공간을 확보해야 한다. 스택은 단순하고 빠른 성능을 위해 사용되므로, 보통 배열 구조를 활용해서 구현하는 것이 일반적임. 이 경우, 위에서 열거한 단점이 있을 수 있음 // java.util.Stack클래스 임포트 import java.util.Stack; Stack stack_int = new Stack(); stack_int...

    Java-자료구조 (Queue)

    Java-자료구조 (Queue)

    우선 큐에 대해 학습하기 전에 자바의 클래스와 친숙해 지고자 중첩 클래스에 대해 알아보겠다 1. 중첩 클래스는 왜 쓰는가? 클래스들의 논리적인 그룹을 나타낼 때 쓴다. 주로 model 객체에서 상위모델과 하위모델이 있을 떄 쓰는거 같다. (Static Nested Class를 많이 씀) 향상된 캡슐화 좋은 가독성과 유지 보수성 2. 중첩 클래스의 종류 3. 내부 클래스 (Inner Class) 내부클래스로서 일반클래스 내부에 생성된다. Non-Static Nested Class라고도 불린다. 밖에 있는 클래스는 내부클래스를 멤버변수처럼 사용할 수 있다. 사용하려면 new로 인스턴스를 만들어야 한다. 내부클래스는 자신의 밖에 있는 클래스의 자원을 직접 사용할 수 있다. 모양새 // src$Outer.jav..

    Java-자료구조(Array)

    Primitive 자료형과 Wrapper 클래스 Java에서는 int와 integer같이, Primite자료형과 Wrapper클래스가 있음 Wrapper 클래스는 Primitive 자료형보다 많은 이점이 존재한다. null을 용이하게 처리할 수 있다. ArrayList등 객체만을 핸들링 하는 기능을 사용하기 위해 Integer[] data_list = new Integer[10]; data_list[0] = 1; data_list[2]; // null Integer data_list1[] = {5, 4, 3, 2, 1}; Integer[] data_list2 = {1, 2, 3, 4, 5}; System.out.println(data_list2[0]); // 1 data_list1[0]; // 5 참고:..

    Java 를 Jupyter 환경에서 구축

    IJAVA 설치를 진행해 줘야 한다. 사전에 JDK가 9 이상 설치되어 있어야 한다. ( 나는 adoptjdk-11.jdk를 설치했다 ) 또한 mac에서 다양한 자바 버전을 관리하기 위해 jenv이라는 툴을 설치했다. https://github.com/SpencerPark/IJava/releases Releases · SpencerPark/IJava A Jupyter kernel for executing Java code. Contribute to SpencerPark/IJava development by creating an account on GitHub. github.com 이제 본격적으로 JAVA Release Tab에서 ijava-최신버전.zip 다운로드를 해보자 주피터 노트북 상에서 터미널 명..

    Java 환경 준비

    1. JDK와 JRE JDK = JRE + @라고 보면 됨 JRE(Java Runtime Enviroment) : 컴파일된 자바 프로그램을 실행시킬 수 있는 환경을 제공해주는 프로그램 JDK(Java Development Kit) : 자바 프로그래밍 작성시 필요한 컴파일러 및 패키지 등을 포함 * JAVA 프로그래밍시, JDK 설치가 필요하며, JDK는 JRE + @이므로 JDK를 설치하면, 별도로 JRE를 설치할 필요가 없음 2. Java SE, Java EE, Java ME SE는 Software Edition의 약자로 개발자들을 위한 에디션 EE는 Enterprise Edition의 약자로 기업용 Java 소프트웨어 개발을 위한 라이브러리들이 추가된 에디션 ME는 Micro Edition의 약자로 ..