package com.msb.test04; /** * @author : liu * 日期:08:19:35 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Node {//节点类 //三个属性 //上一个元素的地址 private Node pre; //当前存入的元素 private Object obj; //下一个元素的地址 private Node next; public Node getPre() { return pre; } public void setPre(Node pre) { this.pre = pre; } public Object getObj() { return obj; } public void setObj(Object obj) { this.obj = obj; } public Node getNext() { return next; } public void setNext(Node next) { this.next = next; } @Override public String toString() { return "Node{" + "pre=" + pre + ", obj=" + obj + ", next=" + next + '}'; } }
package com.msb.test04; /** * @author : liu * 日期:08:25:24 * 描述:IntelliJ IDEA * 版本:1.0 */ public class MyLinkedList { //链中一定有一个首节点: Node first; //链中一定有一个尾结点: Node last; //计数器: int count=0; //提供一个构造器 public MyLinkedList(){ } //添加元素方法: public void add(Object o){ if(first==null){//证明你添加的元素是第一个节点 //将添加的元素封装为一个对象 Node n = new Node(); n.setPre(null); n.setObj(o); n.setNext(null); //当前链中第一个节点变为n first=n; //当前链中最后一个节点变为n last=n; }else{//已经不是第一个节点了 // Node n =new Node(); n.setPre(last);//n的上一个节点,一定是当前链中的最后一个节点last n.setObj(o); n.setNext(null); //当前链中的最后一个节点的下一个元素要指向n last.setNext(n); //将最后一个节点变为n last=n; } //链中元素数量加1 count++; } //得到集合中元素的数量 public int getSize(){ return count; } //通过下标获得元素 public Object get(int index){ //获取链表的头元素 Node n=first; //一路next得到想要的元素 for (int i = 0; i < index; i++) { n = n.getNext(); } return n.getObj(); } } class Test{ //这是一个main方法:是程序的入口 public static void main(String[] args) { //创建一个集合对象 MyLinkedList ml=new MyLinkedList(); ml.add("aa"); ml.add("bb"); ml.add("cc"); System.out.println(ml.getSize()); System.out.println(ml.get(2)); } }
Debug验证数据添加成功
原文地址:http://www.cnblogs.com/jeldp/p/16843587.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性