자료구조3 [java] 직접 구현한 List 추상화 (feat. 의존관계 주입) 목차복잡한 로직을 수행하는 배치 프로그램이 있다고 가정한다.로직은 매개변수로 넘어온 인자만큼 루프를 돌면서 list의 앞부분에 데이터를 넣는 로직이다.(앞부분인게 중요)배치프로그램 코드를 점점 개발자들이 리팩토링 했다는 스토리다.Ver 1: ArrayList 사용의 성능 문제package collection.test;import collection.list.MyArrayList;public class BatchProcessorV1 { // MyArrayList에 직접 의존(bad) private final MyArrayList list = new MyArrayList(); //엄청 복잡한 로직이라고 가정 public void logic(int size) { long st.. IT/development 2025. 1. 5. [java] 직접 구현하는 연결리스트 > 추가, 삭제 기능 (feat. 자료구조) 목차연결리스트의 추가, 삭제 원리는 정말 간단한데 그 추상적인 개념을 머릿속으로 그리는게 너무 오래 걸렸다.source codepackage collection.link;public class MyLinkedListV2 { private Node first; private int size = 0; //마지막 인덱스에 값을 추가 public void add(Object e) { Node newNode = new Node(e); if(first == null) { first = newNode; } else { getLastNode().next = newNode; } size++; .. IT/development 2025. 1. 5. [java] LinkedList(연결 리스트) 내 방식대로 이해 (feat. 자료구조) 목차카테고리를 고민하다가 스스로 아직 자료구조에 대해 잘 정리가 안된 상태라서 그냥 java로 분류했다.source code package collection.link;public class NodeMain1 { public static void main(String[] args) { //노드 생성하고 연결하기: A -> B -> C Node first = new Node("A"); //1번 째 노드의 참조값 first.next = new Node("B"); //1번 째 노드의 next필드에 2번 째 노드의 참조값 저장 first.next.next = new Node("C"); //2번 째 노드의 next필드에 3번 째 노드의 참.. IT/development 2025. 1. 4. 이전 1 다음