Java写链表结构如何在一个node里写多个数据
老师写的:publicclassLinkedPriorityList<E>implementsPriorityList<E>{privateEdata;privateNo...
老师写的:
public class LinkedPriorityList<E> implements PriorityList<E> {
private E data;
private Node next;
public Node(E element){
data = element;
next = link;
}
}
所以说,如果我有一个数据,比如说是一个String,我就把 E写成String,像这样:
PriorityList<String> list = new LinkedPriorityList<String>();
但是我的问题就是,如果我的结构里想多几个数据呢?
比如说我想在有一个int数据,我应该怎么写呢?
因为比如说在写C语言的时候,我会写:
typedef struct s{
int data1;
string data2;
struct s *next
}State;
但是如果我不太明白如何在java的一个节点里写多于一个的数据。
刚开始学,不太懂,谢谢了!
老师的例子是:
public class LinkedPriorityList<E> implements PriorityList<E> {
private E data;
private Node next;
public Node(E element){
data = element;
next = null;
}
}
next=null不是next=link;
不好意思。 展开
public class LinkedPriorityList<E> implements PriorityList<E> {
private E data;
private Node next;
public Node(E element){
data = element;
next = link;
}
}
所以说,如果我有一个数据,比如说是一个String,我就把 E写成String,像这样:
PriorityList<String> list = new LinkedPriorityList<String>();
但是我的问题就是,如果我的结构里想多几个数据呢?
比如说我想在有一个int数据,我应该怎么写呢?
因为比如说在写C语言的时候,我会写:
typedef struct s{
int data1;
string data2;
struct s *next
}State;
但是如果我不太明白如何在java的一个节点里写多于一个的数据。
刚开始学,不太懂,谢谢了!
老师的例子是:
public class LinkedPriorityList<E> implements PriorityList<E> {
private E data;
private Node next;
public Node(E element){
data = element;
next = null;
}
}
next=null不是next=link;
不好意思。 展开
展开全部
java 泛型不支持int 必须进行包装转成Integer
//你们老师那个能运行?
public class LinkedPriorityList<E> {
Node<E> head;
Node<E> last;
public void addNode(E date) {
if(head==null){
head=new Node<E>(date);
last=head;
}else {
last.next=new Node<E>(date);
last=last.next;
}
}
public void Iterator() {
Node<E> temp=head;
while (true) {
System.out.println(temp.data);
if(temp.next==null){
break;
}
temp=temp.next;
}
}
public static void main(String[] args) {
//LinkedPriorityList<String> lpList=new LinkedPriorityList<String>();
//如果要泛型支持不同数据类型,不写<String>就行
LinkedPriorityList lpList=new LinkedPriorityList();
lpList.addNode("bac");
lpList.addNode("cdd");
lpList.addNode("3234");
lpList.addNode(21);
lpList.addNode('e');
lpList.Iterator();
}
}
class Node<E>{
E data;
Node<E> next;
Node(E date){
this.data=date;
}
}
展开全部
嗯,C里边的结构就是对应java里边的POJO对象了,这么说大概不大准确,但在你这问题上作用是一样的,你可以定义自己的一个对象,属性自己定,LIST泛型用这个对象就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java和C的差别很大。Java的链表元素可以是类的,要一个节点多个数据,你可以这个定义:
public class A
{
private Arraylist<int> x =new Arraylist<int>();
}
Arraylist<A> x1 =new Arraylist<A>();
其实就是链表中再包含一个链表,如果是不同类型,那么在A中增加即可,java很少自己写链表的,我不知道你老师想表达什么意思,我只想说我看了这么多java代码,还没见过自己写链表的,Java的强大之处在于很多东西都有现成的。
public class A
{
private Arraylist<int> x =new Arraylist<int>();
}
Arraylist<A> x1 =new Arraylist<A>();
其实就是链表中再包含一个链表,如果是不同类型,那么在A中增加即可,java很少自己写链表的,我不知道你老师想表达什么意思,我只想说我看了这么多java代码,还没见过自己写链表的,Java的强大之处在于很多东西都有现成的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同样是写一个数据结构呀,也就是写一个class,
class A{
Int i;
String s;
}
然后放进node,泛型里填A就好了
class A{
Int i;
String s;
}
然后放进node,泛型里填A就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |