기타/What I Learned

[TIL] 자료구조 - remove, find

가죽방패 2022. 3. 25. 12:58

※ find

- Comparable 인터페이스를 사용하여 노드를 찾습니다.

public boolean contains(E obj){
	Node<E> current = null;
    while(current != null){
    	if(((Comparable<E>obj).compareTo(current.data)==null)
        	return true;
        current = current.next;
    }
    return false;
}

※ remove

1. Comparable 인터페이스를 사용해 제거하고 싶은 요소의 위치를 찾습니다.

2. 바로 앞 노드의 next 포인터다음 노드를 가리키게 만들어 가운데 노드를 제거하고

previous, current 2가지 포인터를 사용해 각각 바로 앞의 노드와 제거하고자 하는 노드를 가리킨다.

 

노드가 1개만 있는 경우, 첫 번째 노드를 제거하는 경우에 removeFirst 메소드를 사용한다. 그리고 마지막 요소를 제거하는 경우 removeLast 메소드를 사용한다.