<div>public class LinkedListTest {</div> <div><br></div> <div><span style="white-space:pre;"> </span>public static void main(String[] args) {</div> <div><br></div> <div><span style="white-space:pre;"> </span>LinkedList list = new LinkedList();</div> <div><span style="white-space:pre;"> </span>list.addItem("test1");</div> <div><span style="white-space:pre;"> </span>list.addItem("test2");</div> <div><span style="white-space:pre;"> </span>list.addItem("test3");</div> <div><span style="white-space:pre;"> </span>list.addItem(1, "test1.5");</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>System.out.println(list.getItem(0));</div> <div><span style="white-space:pre;"> </span>System.out.println(list.getItem(1));</div> <div><span style="white-space:pre;"> </span>System.out.println(list.getItem(2));</div> <div><span style="white-space:pre;"> </span>System.out.println(list.getItem(3));</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>list.deleteItem(0);</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>System.out.println(list.getItem(0));</div> <div><span style="white-space:pre;"> </span>System.out.println(list.getItem(1));</div> <div><span style="white-space:pre;"> </span>System.out.println(list.getItem(2));</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>System.out.println(list.size());</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div>}</div> <div><br></div> <div> <div>public class Node {</div> <div><span style="white-space:pre;"> </span>private Node next = null;</div> <div><span style="white-space:pre;"> </span>private String item = null;</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public Node(String item, Node node) {</div> <div><span style="white-space:pre;"> </span>this.item = item;</div> <div><span style="white-space:pre;"> </span>this.next = node;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public Node getNext() {</div> <div><span style="white-space:pre;"> </span>return next;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public void setNext(Node node) {</div> <div><span style="white-space:pre;"> </span>this.next = node;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public String getItem() {</div> <div><span style="white-space:pre;"> </span>return item;</div> <div><span style="white-space:pre;"> </span>}</div> <div>}</div></div> <div><br></div> <div> <div>public class LinkedList {</div> <div><span style="white-space:pre;"> </span>private Node first = null;</div> <div><span style="white-space:pre;"> </span>private Node last = null;</div> <div><span style="white-space:pre;"> </span>private int size = 0;</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public void addFirst(String item) {</div> <div><span style="white-space:pre;"> </span>Node newNode = new Node(item, first);</div> <div><span style="white-space:pre;"> </span>first = newNode;</div> <div><span style="white-space:pre;"> </span>size++;</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>if(first.getNext() == null) {</div> <div><span style="white-space:pre;"> </span>last = first;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public void addItem(String item) {</div> <div><span style="white-space:pre;"> </span>if(first == null) {</div> <div><span style="white-space:pre;"> </span>addFirst(item);</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>} else {</div> <div><span style="white-space:pre;"> </span>Node newNode = new Node(item, null);</div> <div><span style="white-space:pre;"> </span>last.setNext(newNode);</div> <div><span style="white-space:pre;"> </span>last = newNode;</div> <div><span style="white-space:pre;"> </span>size++;<span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public void addItem(int index, String item) {</div> <div><span style="white-space:pre;"> </span>if(index == 0) {</div> <div><span style="white-space:pre;"> </span>addFirst(item);</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>} else {</div> <div><span style="white-space:pre;"> </span>Node tempNode1 = getNode(index - 1);</div> <div><span style="white-space:pre;"> </span>Node tempNode2 = tempNode1.getNext();</div> <div><span style="white-space:pre;"> </span>Node newNode = new Node(item, tempNode2);</div> <div><span style="white-space:pre;"> </span>tempNode1.setNext(newNode);</div> <div><span style="white-space:pre;"> </span>size++;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public String getItem(int index) {</div> <div><span style="white-space:pre;"> </span>return getNode(index).getItem();</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public int size() {</div> <div><span style="white-space:pre;"> </span>return size;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public void deleteItem(int index) {</div> <div><span style="white-space:pre;"> </span>if(first == null) {</div> <div><span style="white-space:pre;"> </span>throw new IndexOutOfBoundsException("연결리스트에 생성된 값이 존재하지 않습니다.");</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>} else if(index == 0) {</div> <div><span style="white-space:pre;"> </span>Node tempNode1 = getNode(index);</div> <div><span style="white-space:pre;"> </span>first = (1 < size)?tempNode1.getNext():null;</div> <div><br></div> <div><span style="white-space:pre;"> </span>if(first != null) size--;</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>} else {</div> <div><span style="white-space:pre;"> </span>Node tempNode1 = getNode(index - 1);</div> <div><span style="white-space:pre;"> </span>Node tempNode2 = getNode(index);</div> <div><span style="white-space:pre;"> </span>tempNode1.setNext(tempNode2.getNext());</div> <div><span style="white-space:pre;"> </span>size--;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public Node getNode(int index) {</div> <div><span style="white-space:pre;"> </span>Node node = first;</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>if(size <= index || index < 0) {</div> <div><span style="white-space:pre;"> </span>throw new IndexOutOfBoundsException("연결리스트의 길이를 초과한 index값이 입력되었습니다.");</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>for(int i = 0; i < index; i++) {</div> <div><span style="white-space:pre;"> </span>node = node.getNext();</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>return node;</div> <div><span style="white-space:pre;"> </span>}</div> <div>}</div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.