今天就跟大家聊聊有关利用Java怎么获取链表中的元素,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联主营太和网站建设的网络公司,主营网站建设方案,App定制开发,太和h5微信小程序搭建,太和网站营销推广欢迎太和等地区企业咨询
Java可以用来干什么
Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。
一、获取元素
1.关于获取链表中元素的方法的分析
由于我们使用了虚拟头结点,而我们每次都需要从第一个真实节点开始,因此需要首先得到虚拟头结点的下一个节点是谁,然后在此基础上进行遍历工作,相关代码如下:
//获取链表的第index(0-based)个位置的元素 (实际不常用,练习用)
public E get(int index) {
//合法性判断
if (index < 0 || index >= size) {
throw new IllegalArgumentException("Get failed,Illegal index");
}
Node cur = dummyHead.next;
for (int i = 0; i < index; i++) {
cur = cur.next;
}
return cur.e;
} 2.获得链表的第一个元素
对于该方法则是依靠在get()方法的。
//获得链表的第一个元素
public E getFirst() {
return get(0);
}3.获得链表的最后一个元素
对于该方法页是依靠在get()方法的。
//获得链表的最后一个元素
public E getLast() {
return get(size - 1);
}二、修改链表元素
由于我们使用了虚拟头结点,而我们每次都需要从第一个真实节点开始,因此需要首先得到虚拟头结点的下一个节点是谁,然后在此基础上进行遍历工作,相关代码如下:
//修改链表的第index(0-based)个位置的元素 (实际不常用,练习用)
public void set(int index, E e) {
//合法性判断
if (index < 0 || index >= size) {
throw new IllegalArgumentException("update failed,Illegal index");
}
Node cur = dummyHead.next;
for (int i = 0; i < index; i++) {
cur = cur.next;
}
cur.e = e;
} 三、判断是否有元素e
由于我们使用了虚拟头结点,而我们每次都需要从第一个真实节点开始,因此需要首先得到虚拟头结点的下一个节点是谁,然后判断给定的元素值与链表中的元素值内容是否相等(equals()方法),若相等则返回true,否则返回false。
//查找链表中是否有元素e
public boolean contains(E e) {
Node cur = dummyHead.next;
while (cur != null) {
if (cur.e.equals(e)) {
return true;
}
cur = cur.next;
}
return false;
} 四、toString()方法的重写
为了在输出该链表对象时可以查看相关自定义的信息,我们对toString()进行重写改造。
//重写object类,便于测试
@Override
public String toString() {
StringBuilder res = new StringBuilder();
Node cur = dummyHead.next;
while (cur != null) {
res.append(cur + "->");
cur = cur.next;
}
res.append("NULL");
return res.toString();
} 此时该方法等同于
//重写object类,便于测试
@Override
public String toString() {
StringBuilder res = new StringBuilder();
for (Node cur = dummyHead.next; cur != null; cur = cur.next) {
res.append(cur + "->");
}
res.append("NULL");
return res.toString();
} 五、测试
新建一个main函数,填写相关测试代码如下:
package LinkedList;
public class TestMain {
public static void main(String[] args) {
LinkedList linkedList = new LinkedList();
System.out.println("============在链表头部添加============");
for (int i = 0; i < 5; i++) {
linkedList.addFirst(i);
System.out.println(linkedList);
}
System.out.println("============修改链表============");
linkedList.set(2,666);
System.out.println(linkedList);
}
} 结果为:

看完上述内容,你们对利用Java怎么获取链表中的元素有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
标题名称:利用Java怎么获取链表中的元素
URL地址:http://www.jxjierui.cn/article/gicodd.html


咨询
建站咨询
