분류 전체보기

자료구조

[Java]Stack 이란? , stack 구현해보기

스택(Stack) 한 쪽 에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료 구조 구현 class public class Stack { private final int [] stackList; private final int stackSize; private int stackPointer; public Stack(int stackSize) { this.stackList = new int[stackSize]; this.stackPointer = -1; this.stackSize = stackSize; } public void push(int data){ if(stackSize-1 ==stackPointer){ System.out.println("더 이상 추가할 수 없음"..

자료구조

[Java] LinkedList 란? (LinkedList 구현해보기)

LinkedList 란 데이터를 저장하는 각 노드가 다음 노드의 주소를 알고 있다고 보면 간단히 이해할 수 있다. 그림상으로는 다음과 같다. 다음과 같은 구조를 가질 때 장점이 존재한다 추가 ,삭제에 용이하다(LinkedList는 이전 노드와 다음 노드를 참조하는 상태만 변경하면 됨 시작 복잡도 O(1)) 하지만 단점도 존재한다. LinkedList는 검색 시 모든 요소를 거쳐서 탐색해야 돼서 느리다 ( 시작 복잡도O(N) ) 구현 Class LinkedList 에서 추가 , 삭제 , 값 확인하는 로직만 구현하였음. public class LinkedList { private Node head; private Node tail; private int size = 0; class Node { // data..

Java/live-study

[JAVA] 백기선 자바 스터디 4주차 과제: 제어문

학습할 것 (필수) 1) 선택문 2) 반복문 1) 선택문 1-1) if 문 if (조건){ 조건에 맞으면 동작할 코드 } public class demo { public static void main(String[] args) { boolean result = true; if(result){ System.out.println("result 가 True 입니다 "); } } } 1-2 if -else 문 if (조건){ 조건에 맞으면 동작할 코드 } esle { 조건에 반대되면 동작할 코드 } public class demo { public static void main(String[] args) { boolean result = true; if(result){ System.out.println("resu..

Java

[Java]XOR 이용하기

XOR의 진리표는 다음과 같다. 그럼 사용할 수 있는 경우를 보자. Arrays.asList(1,1,2,2,3,3,5,5,4) 위와 같은 List 가 있다. list 안에는 중복되는 1,2,3,5 가 있을 때 중복되지 않는 4의 값만 가져오고 싶다. 이러한 알고리즘을 풀 때는 다양한 방법이 존재하지만 XOR을 이용해서 간단히 풀 수 있다. private Integer Solution(List integers) { Integer i = 0; for (Integer integer : integers) { i ^=integer; } return i; } 이렇게 간단한 XOR 방법으로도 4를 추출할 수 있다. 좀 더 자세히 알아보자면 0 ^ 1 = 1 1 ^ 1 = 0 0 ^ 2 = 2 2 ^ 2 = 0 0 ^..

Java

[Java]equals , hashCode 사용하기

equals와 hashCode 사용하기 ( +lombok) equals와 hashCode 사용하기 ( +lombok) 안녕하세요? 이번 시간엔 equasl & hashcode를 어떤 곳에서 사용할 수 있는지를 확인해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용 jojoldu.tistory.com 한 두 달 전에 이 글을 읽고 아 이렇게 객체를 이용해서도 분류할 수 있구나 정도만 생각하고 넘어갔다. 그러다가 ICT 인턴십 을 진행하면서 아래 예시 같이 있는 excel data를 파싱 해서 id field LocalDataTime DisplayName 필드가많아요~ field DisplayName 1 "중복이야!" "2020-10-20" ..

Java

[Java]reflection 을 이용한 간단한 DI 프레임워크 만들기

Test 코드는 다음과 같다. @Test public void DI확인테스트() { BookService bookService = SimpleDI.getObject(BookService.class); assertThat(bookService).isNotNull(); BookRepository bookRepository = bookService.getBookRepository(); assertThat(bookRepository).isNotNull(); } @Test public void DI확인테스트2() { BookRepository bookService = SimpleDI.getObject(BookRepository.class); assertThat(bookService).isNotNull(); } T..

Java

[Java]SingleTonClass 연습

public class SingleTonClass { private int i=10; private staticSingleTonClass SINGLE_TON_CLASS = new SingleTonClass(); private SingleTonClass() { // TODO Auto-generated constructor stub } public static SingleTonClass getSingleTonClass() { return SINGLE_TON_CLASS; } public int getI() { return i; } public void setI(int i) { this.i = i; } } 위 코드를 보면 또한 SINGLE_TON_CLASS 라는 변수를 선언한다. SINGLE_TON_CLASS은..

Java

[Java]비정방형 배열

10 11 12 20 21 X 30 31 32 40 41 X 이러한 비정방형 배열을 생성해보자 먼저 배열을 생성해준다 int a[][] =new int[4][]; a[0]=new int[3]; a[1]=new int[2]; a[2]=new int[3]; a[3]=new int[2]; 다음은 값을 삽입하기위해 for문을 이용한다 for(int i=0; i 2번쨰의 행의 개수 3 a[3].length-> 3번쨰의 행의 개수 2 가 된다 다음은 출력부분이다. for(int i=0; i

jay Joon
'분류 전체보기' 카테고리의 글 목록 (11 Page)