今天就跟大家聊聊有关利用Java怎么获取链表中的元素,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
我们一直强调成都做网站、网站设计对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业网站建设公司不一定是大公司,成都创新互联作为专业的网络公司选择我们就是放心。Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。
一、获取元素
由于我们使用了虚拟头结点,而我们每次都需要从第一个真实节点开始,因此需要首先得到虚拟头结点的下一个节点是谁,然后在此基础上进行遍历工作,相关代码如下:
//获取链表的第index(0-based)个位置的元素 (实际不常用,练习用) public E get(int index) { //合法性判断 if (index < 0 || index >= size) { throw new IllegalArgumentException("Get failed,Illegal index"); } Nodecur = dummyHead.next; for (int i = 0; i < index; i++) { cur = cur.next; } return cur.e; }
对于该方法则是依靠在get()方法的。
//获得链表的第一个元素 public E getFirst() { return get(0); }
对于该方法页是依靠在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"); } Nodecur = dummyHead.next; for (int i = 0; i < index; i++) { cur = cur.next; } cur.e = e; }
由于我们使用了虚拟头结点,而我们每次都需要从第一个真实节点开始,因此需要首先得到虚拟头结点的下一个节点是谁,然后判断给定的元素值与链表中的元素值内容是否相等(equals()方法),若相等则返回true,否则返回false。
//查找链表中是否有元素e public boolean contains(E e) { Nodecur = dummyHead.next; while (cur != null) { if (cur.e.equals(e)) { return true; } cur = cur.next; } return false; }
为了在输出该链表对象时可以查看相关自定义的信息,我们对toString()进行重写改造。
//重写object类,便于测试 @Override public String toString() { StringBuilder res = new StringBuilder(); Nodecur = 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 (Nodecur = 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) { LinkedListlinkedList = 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怎么获取链表中的元素有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联网站建设公司行业资讯频道,感谢大家的支持。
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。