[Java] LinkedList의 특징과 스스로 구현해보기
·
Java/Collections
이번에도 코테를 풀며 늘 데이터가 추가되는 상황에서 늘 ArrayList를 사용했다.자바가 제공하는 라이브러리가 분명 최적화가 잘 되어 있기 때문에 그냥 ArrayList를 쓰면 된다고는 하지만, 데이터를 앞쪽 인덱스에 삽입하는 경우가 많을 때는 확실히 LinkedList가 유리하다.평소에 LinkedList를 잘 사용을 하지 않아서, 구조를 다시금 이해 할겸 스스로 구현해보았다.참고로 LinkedList는 배열리스트처럼 인덱스만 딱 찍어 탐색할 수 없기 때문에 이전 노드의 next 필드의 값을 통해 접근 하는 방식을 사용해야한다. -> 이 사실만 알면 구현은 어렵지 않다.구현public class MyLinkedList { private Node first; private int size =..
[Java] 컬렉션 - Array (배열) / 전,중,후 데이터 삽입
·
Java/Collections
이번 주말에 있을 SQLD 시험을 준비하며.. 미뤄 왔던 포스팅을 다시 열심히 해야지..오늘은 컬렉션 프레임워크 중에서 ArrayList, 즉 배열리스트에 대해 포스팅하고자 한다.배열 리스트는 말 그대로 배열 + 리스트 의 개념을 합쳐 놓은 것이라는 선수 지식을 가지고 오늘의 복습을 시작하겠다.배열은 단순하면서도 복잡하면서도 아주 좋은 자료구조이다import java.util.Arrays;public class ArrayMain { public static void main(String[] args) { int[] arr = new int[5]; //index 입력 : O(1) System.out.println("==index 입력: O(1)=="); ..
[Java] 컬렉션 - Iterable, Iterator 와 for- each 문 (2)
·
Java/Collections
이전 포스팅과 연결됩니다..!https://bdisappointed.tistory.com/64 [Java] 컬렉션 - Iterable, Iterator 직접 구현해보기 (1)오늘의 포스팅은 컬렉션 프레임 워크 중에 우리가 흔히 인텔리제이 에서 iter 이란 키워드로 편하게 배열을 탐색하게 해주는 바로 그 기능에 대해 포스팅 하고자 한다!사실 이전에 그냥 개꿀 기bdisappointed.tistory.com지난번 포스팅에서는 Iterable과 Iterator를 직접 구현해보았다.근데 그래서 우리가 인텔리제이에서 쓰는 iter, 즉 향상된 for 문이랑 이게 머선 상관인데?향상된 for문 (for- each 문)지난 포스팅에서 작성했던 코드에 for - each 문을 살짝쿵 추가해보자public class ..
[Java] 컬렉션 - Iterable, Iterator 직접 구현해보기 (1)
·
Java/Collections
오늘의 포스팅은 컬렉션 프레임 워크 중에 우리가 흔히 인텔리제이 에서 iter 이란 키워드로 편하게 배열을 탐색하게 해주는 바로 그 기능에 대해 포스팅 하고자 한다!사실 이전에 그냥 개꿀 기능이네~ 하고 블로그에 글을 썼던 주제인데.. 사실 알고보면 복잡하고 복잡한 기능을 우리가 그냥 쓰기 편하게 인터페이스로 구현해놓은 것이었다..뭣도 모르고 사용 했던 향상된 for 문 (for - each)https://bdisappointed.tistory.com/33 [Java] 향상된 for문 (for - each문)향상된 for 문 (for - each)문이란배열을 배우고 응용하다 보면 배열의 0번째 인덱스부터 끝까지 한번 돌리고 싶은데,우리가 그럴 때마다 어떻게 했는가? 일단 아래 예시를 보자.//기존 for..
[Java] 제네릭 (Generic) (2)
·
Java/Collections
저번 포스팅에서, 제네릭을 도입하여 코드의 타입 안전성과, 코드 재사용성을 늘려보았다.오늘은 1편에 이어 제네릭에 대해 두번째 포스팅을 해보고자 한다.동물 병원을 만들어보자예를 들어, 아래와 같이 Animal 클래스와 그의 자식 클래스인 Dog와 Cat이 있다고 하자.public class Animal { private String name; private int size; public Animal(String name, int size) { this.name = name; this.size = size; } public String getName() { return name; } public int getSize() { ..
[Java] 제네릭이 필요한 이유 (Generic) (1)
·
Java/Collections
오늘도 즐겁고 기쁜 마음으로 제네릭에 대해 포스팅 하고자 한다. 내용이 많으니까 2부에 걸쳐 올리려고 한다. 제네릭이 필요한 이유매그네릭.. 아니 제네릭이 필요한 이유를 설명하기 전, 예시를 통해 이해해보자예를들어, 아래와 같이 단순한 기능을 제공하는 코드가 두개 있다고 가정하겠다그리고 아래와 같이 Main 코드를 작성해보겠다public class BoxMain { public static void main(String[] args) { IntegerBox integerBox = new IntegerBox(); integerBox.set(10); // == (Integer integerBox = Integer.valueOf(10)); -> 오토 박싱 Intege..