반응형

분류 전체보기 110

스프링 입문 - 프로젝트 환경 설정2

https://surrealcode.tistory.com/84 스프링 입문 - 프로젝트 환경 설정https://start.spring.io/ 스프링 부트 기반으로 스프링 프로젝트를 만들어주는 사이트이다. 요즘 추세는 Gradle 프로젝트를 진행한다. Java언어를 선택하고 최신 부트 버전을 선택한다.(SNAPSHOT이나 M이surrealcode.tistory.com 이전에 스프링 프로젝트의 환경 설정을 진행했었다. 이번엔 코드를 짜고 프로그램을 직접 돌려보자.package hello.hello_spring;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplic..

공부/Spring 2024.10.15

스프링 입문 - 프로젝트 환경 설정1

https://start.spring.io/ 스프링 부트 기반으로 스프링 프로젝트를 만들어주는 사이트이다. 요즘 추세는 Gradle 프로젝트를 진행한다. Java언어를 선택하고 최신 부트 버전을 선택한다.(SNAPSHOT이나 M이 붙은 프로젝트는 정식 릴리즈 버전이 아니다.)  제네레이터 선택 이후 프로젝트 임포트 하듯 편하게 임포트 해주면 된다. 간혹 자바 버전이 안맞아서 에러가 발생할 수 있다https://milenote.tistory.com/63 Project Settings > Project > Project SDK SDK 버전을 새로 다운로드 받아서 버전을 맞춘다." data-og-host="milenote.tistory.com" data-og-source-url="https://milenote..

공부/Spring 2024.10.11

자바 컬렉션프레임워크-순회, 정렬, 전체 정리

순회1 - 직접 구현하는 Iterable, Iterator순회라는 단어는 여러 곳을 돌아다닌다는 뜻이다.자료 구조에 순회는 자료 구조에 들어있는 데이터를 차례대로 접근해서 처리하는 것을 순회라 한다.그런데 다양한 자료 구조가 있고, 각각의 자료 구조마다 데이터를 접근하는 방법이 모두 다르다. 예를 들어 배열 리스트는 index를 size까지 차례로 증가하면서 순회해야 하고, 연결 리스트는 node.next를 사용해서 node의 끝이 null일떄까지 순회해야 한다. 이렇듯 각 자료 구조의 순회 방법이 서로 다르다. 배열리스트, 연결 리스트, 해시 셋, 연결 해시 셋, 트리 셋 등 다양한 자료 구조가 있다. 각각의 자료 구조마다 순회하는 방법이 서로 다르기 때문에, 각 자료 구조의 순회 방법을 배워야 한다...

공부/Java 2024.10.09

자바 컬렉션 프레임워크 - Map, Stack, Queue

컬렉션 프레임워크 - Map 소개1Map은 키-값 쌍을 저장하는 자료구조이다.- 키는 맵 내에서 유일해야 한다. 그리고 키를 통해 값을 빠르게 검색할 수 있다.- 키는 중복될 수 없지만, 값은 중복될 수 있다.- Map은 순서를 유지하지 않는다.  자바는 HashMap, TreeMap, LinkedHashMap 등 다양한 Map 구현체를 제공한다. 이들은 Map 인터페이스의 메서드를 구현하며, 각기 다른 특성과 성능 특징을 가지고 있다. Map인터페이스의 주요 메서드는 다음과 같다.  이중에 HashMap을 가장 많이 사용한다.코드와 결과를 보며 확인해보자.public class MapMain1 { public static void main(String[] args) { Map stud..

공부/Java 2024.10.03

자바 컬렉션 프레임워크 - Set

Set의 이론은 이전 포스팅을 참고하도록 하자.https://surrealcode.tistory.com/80 컬렉션 프레임워크 - HashSet직접 구현하는 Set - MyHashSetV1https://surrealcode.tistory.com/79 자바 컬렉션 프레임워크 - 해시(Hash)컬렉션 프레임워크 - Set1 리스트(List) vs 세트(Set)자료구조에서의 List와 Set은 각각 특정한 방식으로 데surrealcode.tistory.com 자바가 제공하는 Set1 - HashSet, LinkedHashSetset : 중복을 허용하지 않고, 순서를 보장하지 않는 구조이다.Collection 인터페이스Collection 인터페이스는 java.util 패키지의 컬렉션 프레임워크의 핵심 인터페이스..

공부/Java 2024.10.01

컬렉션 프레임워크 - HashSet

직접 구현하는 Set - MyHashSetV1https://surrealcode.tistory.com/79 자바 컬렉션 프레임워크 - 해시(Hash)컬렉션 프레임워크 - Set1 리스트(List) vs 세트(Set)자료구조에서의 List와 Set은 각각 특정한 방식으로 데이터를 저장하고 관리하는 데 사용된다.List(리스트)정의 : 리스트는 요소들의 순차적인 컬렉surrealcode.tistory.com이전에 봤던 해시 알고리즘을 사용해서 Set 자료구조를 다시 구현해본다.그 전에 Set의 정의를 다시 한번 복습해보자 Set : 중복을 허용하지 않고, 순서를 보장하지 않는 자료구조이다. 이전에 구현한 MyHashSetV0은add()로 데이터를 추가할 때 셋에 중복데이터가 있는지 전체 데이터를 항상 확인해..

공부/Java 2024.09.30

자바 컬렉션 프레임워크 - 해시(Hash)

컬렉션 프레임워크 - Set1 리스트(List) vs 세트(Set)자료구조에서의 List와 Set은 각각 특정한 방식으로 데이터를 저장하고 관리하는 데 사용된다.List(리스트)정의 : 리스트는 요소들의 순차적인 컬렉션이다. 요소들은 특정 순서를 가지며, 같은 요소가 여러 번 나타날 수 있다.특징- 순서 유지 : 리스트에 추가된 요소는 특정한 순서를 유지한다. 이 순서는 요소가 추가된 순서를 반영할 수 있다.- 중복 허용 : 리스트는 동일한 값이나 객체의 중복을 허용한다. 예를 들어, 같은 숫자나 문자열 리스트 안에 여러 번 저장할 수 있다.- 인덱스 접근 : 리스트의 각 요소는 인덱스를 통해 접근할 수 있다.용도 : 순서가 중요하거나 중복된 요소를 허용해야 하는 경우에 사용된다. Set(세트, 셋)정의..

공부/Java 2024.09.28

자바 컬렉션 프레임워크 List

자바의 다형성과 OCP 원칙을 가장 잘 활용할 수 있는 곳 중 하나가 바로 자료 구조이다.자료 구조에 다형성과 OCP 원칙이 어떻게 적용되는지 알아보자. List자료 구조순서가 있고, 중복을 허용하는 자료 구조를 리스트(List)라고 한다.우리가 지금까지 만든 MyArrayList와 MyLinkedList는 내부 구현만 다를 뿐 같은 기능을 제공하는 리스트이다. 물론 내부 구현이 다르기 때문에 상황에 따라 성능은 달라질 수 있다. 핵심은 사용자 입장에서 보면 같은 기능을 제공한다는 것이다.이 둘의 공통 기능을 인터페이스로 뽑아서 추상화하면 다형성을 활용한 다양한 이득을 얻을 수 있다.같은 기능을 제공하는 메서드를 MyList 인터페이스로 뽑아보자.public interface MyList { int..

공부/Java 2024.09.27

자바 컬렉션 프레임워크 - LinkedList

노드와 연결1배열 리스트의 단점 : 배열 리스트는 내부에 배열을 사용해서 데이터를 보관하고 관리한다. 이로 인해 다음과 같은 단점을 가진다1. 배열의 사용하지 않는 공간 낭비-배열은 필요한 배열의 크기를 미리 확보해야 한다. 데이터가 얼마나 추가될지 예측할 수 없는 경우 나머지 공간은 사용되지 않고 낭비된다. 2. 배열의 중간 데이터 추가- 앞이나 중간에 데이터를 추가하거나 삭제하는 경우 많은 데이터를 이동해야 하기 때문에 성능이 좋지 않다.  노드와 연결노드와 연결 구조를 사용하면 이 문제를 해결할 수 있다.낭비되는 메모리 없이 딱 필요한 만큼만 메모리를 확보해서 사용하고, 또 앞이나 중간에 데이터를 추가하거나 삭제할 때도 효율적인 자료구조이다. 노드를 만들고 각 노드를 서로 연결하는 방식이다. pub..

공부/Java 2024.09.26

자바 컬렉션 프레임워크 - ArrayList

배열의 특징 1- 배열과 인덱스배열과 같이 여러 데이터(자료)를 구조화 해서 다루는 것을 자료 구조라한다.자바는 배열 뿐만 아니라, 컬렉션 프레임워크라는 이름으로 다양한 자료 구조를 제공한다.컬렉션 프레임워크와 자료 구조를 설명하기 전에 먼저 자료 구조의 가장 기본이 되는 배열의 특징을 알아보자.public class ArrayMain1 { public static void main(String[] args) { int[] arr = new int[5]; //index 입력 : O(1) System.out.println("==index 입력: O(1)=="); arr[0] = 1; arr[1] = 2; arr[2] = 3; ..

공부/Java 2024.09.25
반응형