สร้าง Linked List แบบง่ายๆ ด้วย Generic Type

Chiwa Kantawong (Pea)
1 min readNov 6, 2019

--

package com.zengcode;

public class TestLinkedList {

static class LinkedList<X> {
X data;
LinkedList next = null;

public X getData() {
return data;
}

public void setData(X data) {
this.data = data;
}

public LinkedList getNext() {
return next;
}

public void setNext(LinkedList next) {
this.next = next;
}
}

public static void main(String[] args) {
LinkedList<Object> pointer = new LinkedList<Object>();
LinkedList<String> n1 = new LinkedList<String>();
n1.setData("hello");

LinkedList<Integer> n2 = new LinkedList<Integer>();
n2.setData(2);

LinkedList<Integer> n3 = new LinkedList<Integer>();
n3.setData(3);

pointer.setNext(n1);
n1.setNext(n2);
n2.setNext(n3);


while (pointer.next != null) {
pointer = pointer.getNext();
System.out.println(pointer.getData());
}
}
}

ผลที่ได้คือ

hello
2
3

จากโปรแกรมด้านบนเรามาทำ Circular Linked List ดูครับ

package com.ringzero.research.camel.router;

public class Test {

static class LinkedList<X> {
X data;
LinkedList next = null;

public X getData() {
return data;
}

public void setData(X data) {
this.data = data;
}

public LinkedList getNext() {
return next;
}

public void setNext(LinkedList next) {
this.next = next;
}
}

public static void main(String[] args) throws InterruptedException {
LinkedList<Object> pointer = new LinkedList<Object>();
LinkedList<String> n1 = new LinkedList<String>();
n1.setData("hello");

LinkedList<Integer> n2 = new LinkedList<Integer>();
n2.setData(2);

LinkedList<Integer> n3 = new LinkedList<Integer>();
n3.setData(3);

pointer.setNext(n1);
n1.setNext(n2);
n2.setNext(n3);
n3.setNext(n1);

while (pointer.next != null) {
pointer = pointer.getNext();
System.out.println(pointer.getData());
Thread.sleep(5000);
}
}
}

ไม่รู้ว่าง่ายไปป่าว แต่เอาไปประยุกต์ใช้ได้นะครับ

--

--

Chiwa Kantawong (Pea)
Chiwa Kantawong (Pea)

Written by Chiwa Kantawong (Pea)

Software Development Expert at Central Tech

No responses yet