我刚到Java,并试图在Java实施一个单链表。我已经包括了泛型的使用。代码如下所示:
public class LinkedListX<E>{
Node <E> head;
int size;
LinkedListX(){
head = null;
size = 0;
}
LinkedListX (E e){
head = new Node(e);
size = 1;
}
void add(E e){
if (head == null){
head = new Node (e);
} else {
Node current = this.head;
while (current.next != null){
current = current.next;
}
current.next = new Node(e);
}
size++;
}
E get (int n){
if (n > size){
return null;
}
Node current = head;
for (int i=1;i<n;i++){
current = current.next;
}
return current.e;
}
private class Node<E> {
private E e;
private Node next;
Node (E e, Node n){
this.e = e;
this.next = n;
}
Node (E e) {
this.e = e;
}
}
}
code>get()方法给出错误消息
不兼容的类型,require:e,found:java.lang.object“at”返回当前。e
我认为我在错误地使用泛型。有人能让我知道这个方法的正确编码方式吗?
多谢了。
由于node
是一个内部类,它还可以访问外部的类泛型参数。并且您永远不能为e
分配与外部类中的值不同的值。因此只需从node
类声明中删除
:
private class Node{
// the rest
}
问题内容: 在回答前面的一些问题以及最近的工作时,我一直在想为什么Java不支持其内置类中的方法链接。 例如,如果我要创建一个类,可以通过以下方法而不是void来使其 可链接: 内置库为什么不倾向于以这种方式执行操作?方法链接有不利之处吗? 我可能忽略了一些可以解释缺少方法链接的内容,但是任何默认返回void的setter方法都应该返回 对此 的引用(至少在我看来应该如此)。这样可以使以下情况更加
问题内容: 在回答前面的一些问题以及最近的工作时,我一直在想为什么Java不支持其内置类中的方法链接。 例如,如果我要创建一个类,可以通过以下方法而不是void来使其 可链接: 内置库为什么不倾向于以这种方式执行操作?方法链接有不利之处吗? 我可能忽略了一些可以解释缺少方法链接的内容,但是任何默认返回void的setter方法都应该返回 对此 的引用(至少在我看来应该如此)。这样可以使以下情况更加
现在我正在准备编码面试,我有一个关于Java链表的问题。你能告诉我一些可靠的来源,我可以从那里学习和实践基本的链表方法。我喜欢这个:www.cs.cmu.edu/~adamchik/15-121/structions/linked%20lists/code/linkedlist.java,但我对一些方法实现感到困惑。例如,方法E get(int pos)返回的不是node,而是位于pos位置的节点
查询单条数据使用Get方法,在调用Get方法时需要传入一个对应结构体的指针,同时结构体中的非空field自动成为查询的条件和前面的方法条件组合在一起查询。 如: 1) 根据Id来获得单条数据: user := new(User) has, err := engine.Id(id).Get(user) // 复合主键的获取方法 // has, errr := engine.Id(xorm.PK
我试图用这个键得到一个值。我正在使用get()方法。我的密钥是由int和String组成的对象。所以我提出反对 我收到了空的。当我查看去bug模式或打印密钥集时,我收到类似的消息 虽然我的钥匙应该是 为什么键看起来像这样而不是以及如何使用键获取值? 我在键中覆盖了字符串methid。它看起来更好,但我仍然有空值,我相信有一些价值。
我是java的初学者。我试图编写一个程序,在给定位置插入一个节点,并显示整个链表。但是,我的节点似乎没有被插入,当我显示链接列表时,只显示第一个节点值。有人能解释一下我哪里出了问题吗? //这里,位置是索引位置。索引从0开始,以大小1结束,就像一个数组。 //插入代码 //遍历代码 //主要方法 输出: