java 泛型不支持int 必须进行包装转成Integer
//你们老师那个能运行?
public class LinkedPriorityList{
Nodehead;
Nodelast;
public void addNode(E date) {
if(head==null){
head=new Node(date);
last=head;
}else {
last.next=new Node(date);
last=last.next;
}
}
public void Iterator() {
Nodetemp=head;
while (true) {
System.out.println(temp.data);
if(temp.next==null){
break;
}
temp=temp.next;
}
}
public static void main(String[] args) {
//LinkedPriorityListlpList=new LinkedPriorityList ();
//如果要泛型支持不同数据类型,不写就行
LinkedPriorityList lpList=new LinkedPriorityList();
lpList.addNode("bac");
lpList.addNode("cdd");
lpList.addNode("3234");
lpList.addNode(21);
lpList.addNode('e');
lpList.Iterator();
}
}
class Node{
E data;
Nodenext;
Node(E date){
this.data=date;
}
}
嗯,C里边的结构就是对应java里边的POJO对象了,这么说大概不大准确,但在你这问题上作用是一样的,你可以定义自己的一个对象,属性自己定,LIST泛型用这个对象就行了
Java和C的差别很大。Java的链表元素可以是类的,要一个节点多个数据,你可以这个定义:
public class A
{
private Arraylist
}
Arraylist x1 =new Arraylist();
其实就是链表中再包含一个链表,如果是不同类型,那么在A中增加即可,java很少自己写链表的,我不知道你老师想表达什么意思,我只想说我看了这么多java代码,还没见过自己写链表的,Java的强大之处在于很多东西都有现成的。
同样是写一个数据结构呀,也就是写一个class,
class A{
Int i;
String s;
}
然后放进node,泛型里填A就好了