和C的语法明显不一样哈。
C的链表里,绝对离不开的是*---指针。
其实JAVA和代码思路和C的完全一样呀,
只是JAVA用数据类型的传值(简单类型,结构)和传引用(数组,对象)来区别指针和非指针。
栈数据和堆数据,其实一样。。。只是看自动化程度的高低以及执行效率的高低互有分别。。
下面代码实现的是前插式,也就是插入和删除节点都是从第一个开始的。
我加了输出语句,显示更明显。

1 class Link
2 {
3 public int iData;
4 public double dData;
5 public Link next;
6
7 public Link(int id, double dd)
8 {
9 iData = id;
10 dData = dd;
11 }
12 public void displayLink()
13 {
14 System.out.print("{" + iData + ", " + dData + "}");
15 }
16 }
17
18 class LinkList
19 {
20 private Link first;
21
22 public LinkList()
23 {
24 first = null;
25 }
26 public boolean isEmpty()
27 {
28 return (first == null);
29 }
30 public void insertFirst(int id, double dd)
31 {
32 Link newLink = new Link(id, dd);
33 newLink.next = first;
34 first = newLink;
35 System.out.println("Insert " + id + ", " + dd + " to LinkList!");
36 }
37 public Link deleteFirst()
38 {
39 Link temp = first;
40 first = first.next;
41 return temp;
42 }
43 public void displayList()
44 {
45 System.out.println("List (first-->last): ");
46 Link current = first;
47 while(current != null)
48 {
49 current.displayLink();
50 current = current.next;
51 }
52 System.out.println(" ");
53 }
54 }
55
56 public class LinkListApp {
57
58 /**
59 * @param args
60 */
61 public static void main(String[] args) {
62 LinkList theList = new LinkList();
63
64 theList.insertFirst(22, 2.99);
65 theList.displayList();
66 theList.insertFirst(44, 4.99);
67 theList.displayList();
68 theList.insertFirst(66, 6.99);
69 theList.displayList();
70 theList.insertFirst(88, 8.99);
71 theList.displayList();
72 theList.insertFirst(99, 9.99);
73
74 theList.displayList();
75
76 while(!theList.isEmpty())
77 {
78 Link aLink = theList.deleteFirst();
79 System.out.println("Deleted!");
80 aLink.displayLink();
81 System.out.println(" ");
82 theList.displayList();
83
84 }
85
86 }
87
88 }

Insert 22, 2.99 to LinkList!
List (first-->last):
{22, 2.99}
Insert 44, 4.99 to LinkList!
List (first-->last):
{44, 4.99}{22, 2.99}
Insert 66, 6.99 to LinkList!
List (first-->last):
{66, 6.99}{44, 4.99}{22, 2.99}
Insert 88, 8.99 to LinkList!
List (first-->last):
{88, 8.99}{66, 6.99}{44, 4.99}{22, 2.99}
Insert 99, 9.99 to LinkList!
List (first-->last):
{99, 9.99}{88, 8.99}{66, 6.99}{44, 4.99}{22, 2.99}
Deleted!
{99, 9.99}
List (first-->last):
{88, 8.99}{66, 6.99}{44, 4.99}{22, 2.99}
Deleted!
{88, 8.99}
List (first-->last):
{66, 6.99}{44, 4.99}{22, 2.99}
Deleted!
{66, 6.99}
List (first-->last):
{44, 4.99}{22, 2.99}
Deleted!
{44, 4.99}
List (first-->last):
{22, 2.99}
Deleted!
{22, 2.99}
List (first-->last):