@AllArgsConstructor
@NoArgsConstructor
@Data
public class Node {
//上个元素地址
private Node pre;
//当前存入的元素
private Object object;
//下一个元素地址
private Node next;
}
package com.msb.LinkList; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /** * @author lcc * @version V1.0 * @Package com.msb.LinkList * @date 2022/4/24 9:31 */ @AllArgsConstructor @NoArgsConstructor @Data public class MyLinkList { //链中一定有一个首节点 private Node first; //脸肿一定有一个尾节点 private Node last; //计数器 每天夹一个元素+1 int count=0; public void add(Object o) { if (first==null){ //添加的是第一个节点 需要将添加的元素分装为node 对象 Node node=new Node(); node.setPre(null); node.setobject(o); node.setNext(null); //当前链中第一个个点变为n first=node; //当前最后一个节点也变为n last=node; }else { //已经不是第一个节点了 Node node=new Node(); node.setPre(last); node.setobject(o); node.setNext(null); //当前链中的最后一个节点的下一个元素指向node last.setNext(node); //将最后一个节点变为n last=node; } count++; } //得到集合中的数量 public int getSize(){ return count; } //通过下标获取元素 public Object get(int index) { Node n=first; for (int i = 0; i < index; i++) { n = n.getNext(); } return n.getobject(); } } class Test{ public static void main(String[] args) { MyLinkList myLinkList = new MyLinkList(); myLinkList.add("aaa"); myLinkList.add("bbb"); myLinkList.add("ccc"); System.out.println(myLinkList.getSize()); System.out.println(myLinkList.get(2)); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。