Single dan Double OrderedLinkedList di java

Iseng posting tentang linkedlist java, mumpung sedang belajar itu juga di Algoritma dan Struktur Data. Itung itung menuhin blog juga ^_^
langsung aja, berikut listing programnya :
yg ini untuk file Node.java

public class Node {

	int data;
	Node next;
	Node prev;
	Node(int id){
		data=id;
	}
}

file AddtLinkedList.java

public class AddtLinkedList {

	static boolean kosongCek(Node head){
		return (head==null);
	}
	static void tukar(Node nd1, Node nd2){
		Node tmp = new Node(nd1.data);
		nd1.data=nd2.data;
		nd2.data=tmp.data;
	}
	static void tampil(Node head){
		Node current=head;
		while(current!=null){
			System.out.print(current.data+" ");
			current=current.next;
		}
		System.out.println();
	}
	static void tampil(Node head, Node tail, String a){
		if (a=="maju"){
			Node current=head;
			while(current!=null){
				System.out.print(current.data+" ");
				current=current.next;
			}
			System.out.println();
		} else if (a=="mundur"){
			Node current=tail;
			while(current!=null){
				System.out.print(current.data+" ");
				current=current.prev;
			}
			System.out.println();
		}

	}
}