Development Note(69)
-
Data Structure - ② Linked List
요번에는 소스코드를 한번.. 분석을 해보겠습니다.. -_-;; 제꺼라서 잘 설명할 자신이 있어요.. -_-;; 아래 포스팅한 글에서 보셨듯이 기본적으로 가지고 있어야할 멤버 변수들로는 리스트의 길이와.. 첫 노드가 무엇인지에 대한 정보를 담고 있는 firstNode 라는 객체가 있습니다. 그럼 노드가 무엇이고 어디다 쓰느냐?? 요것이 리스트의 Inner Class (내부 클래스) 로 삽입이 되어있는 Node 클래스 입니다. 물론 이 클래스를 따로 빼두어도 됩니다만.. 저는 내부 클래스로 사용을 했습니다. 접근 제어자는 모두 private.. 이게 왜 링크 기반의 리스트인지를 절실히 알려주는 부분이 바로 저!!! 부분입니다!! 4번째줄의 private Node next; 이부분이죠.. 노드라는 객체는 항상..
2007.07.19 -
Data Structure - ① Linked List
이제 염주를 하나씩 꿰어 볼 차례가 되었습니다.. 말로 꿰는게 아니라 직접 코딩으로 꿰어야죠...? 일단 살펴보도록 하면.. 기본적으로 인터페이스는 동일 합니다.. 하지만 문제는.... 배열을 사용하는 리스트의 경우에는 배열이 주는 공간에 해당 데이터를 저장하면 가능했는데.. -_-... 그럼 이 링크 기반의 리스트는 어떻게 하냐는 거죠.. 쉽게 객체지향임을 사용하면.. 객체를 이용하여.. 객체끼리 연결을 시켜주면.. 되겠죠.. 책에서는 이런 객체를 노드라고 부르더군요.. 예전에 네트워크 공부를 할 시절에도.. 이 노드라는 용어가 나왔었는데.. 뜻을 해석하기가 참 모호하지만.. 참 의미있는 단어라고 생각을 합니다.. 사전적인 의미로는 연결점.. 교점.. 이라고 하는데.. 연결점이라는 의미를 좀 강조시켜야..
2007.07.19 -
Data Structure - Linked Data
이전에 배열을 활용한 리스트를 만들어 봤는데.. 리스트를 만들 수 있는 방법이 또 하나 있다고 하더군요.. 일단 배열을 활용한 리스트 (ArrayList, 어레이리스트) 같은 경우에는 그 리스트의 길이가 한정이 되어 있습니다. 그리고 수정이나 삭제가 일어 날때, 뒤쪽에 있는 값들이 이동해 와야 한다는 단점이 있었습니다. 일단 값이 막 앞뒤로 이동한다는것들은 제외하고.. 리스트의 길이가 한정되어 있는걸 생각해보면.. 바로 배열 때문입니다.. 배열은 처음에 초기값을 설정을 해주기 때문에.. 그게 문제인거죠.. 그럼 이걸 근본적으로 해결할 수 있는 방법은 뭘까요?? 바로 이겁니다 -ㅅ-... 네.. 바로 염주죠..? 염주를 생각해봅시다.. 저 동글동글한 녀석들이 자료라고 생각을 한다면.. 이렇게 줄줄이 이어져..
2007.07.19 -
Data Structure - Array-based List ②
그러면.. 아까 예제로 만들었던 방학계획표를 방금 만든 따끈한 배열을 기본으로한 List 자료구조를 사용하여 표현을 해보도록 하겠습니다 :) 우후훗.. 테스트코드는 다음과 같습니다. package List.TestCode; import List.ArrayBasedList.ArrayBasedList; public class VacationToDoList { public static void main(String[] args) { ArrayBasedList vacationToDoList = new ArrayBasedList(); vacationToDoList.add(new String("자바 공부")); vacationToDoList.add(new String("모자란 수면 욕구 해소")); vacation..
2007.06.28 -
Data Structure - Array-based List ①
인터페이스를 만드는거 까지는 좋은데... -_-;; 어디다 자료를 담는다는 말입니까...;;; 그래서 생각해 보니까.. 아!! 그게 있었군요 :) 바로.. 배열입니다. (Array) 배열은 한 객체 안에 여러개의 객체들을 담을 수 있었잖아요? 그럼 그렇게 배열을 이용하여 코딩을 하면 되겠군요... 'ㅡ' ㅋㅋㅋ 생각보다 단순하네요... 헉.. 그런데 생각해보니까.. 배열이라는 녀석은 하나 생각할게 있었습니다. 이 배열의 크기인데요.. 배열의 크기가.. -_-;; 일정하기 때문에 입력될 자료에 따라서 크기를 잘 지정을 해줘야 겠군요.. 고로 확장성에 제약이 좀 있었습니다. 여튼간에.. 이 배열을 사용해서 만들어 보도록 하겠습니다 :) 열심히 뻘짓한 결과입니다 -_- 가여히 봐주세효.. 무려 3시간이 걸렸습..
2007.06.28 -
Data Structure - List Interface
이전에 작성했던 리스트에 반영되어야할 요소들을 고려하여 만든 리스트 인터페이스가 작성되었습니다. 이해를 돕기 위해서 'ㅡ'... 주석처리도 깔끔하게 해봤습니다 ^ㅡ');; 맘에 드실지는 모르겠지만요 ㅠㅠ package List.ListInterface; public interface ListInterface { /** * 새로운 요소를 추가 시킵니다. * * @param newEntry * 새로 추가 시키게 될 요소 */ public void add(T newEntry); /** * 새로운 요소를 특정 위치에 추가 시킵니다. * * @param position * 리스트의 특정 위치 인덱스 * @param newEntry * 새로 추가 시키게 될 요소 */ public void add(int positi..
2007.06.28