iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java项目如何使用链表
  • 680
分享到

java项目如何使用链表

java链表ava 2023-05-31 16:05:56 680人浏览 泡泡鱼
摘要

今天就跟大家聊聊有关java项目如何使用链表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java 中链表的定义与使用方法Java实现链表主要依靠引用传递,引用可以理解为地址,链表的

今天就跟大家聊聊有关java项目如何使用链表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

java 中链表的定义与使用方法

Java实现链表主要依靠引用传递,引用可以理解为地址,链表的遍历多使用递归,这里我存在一个疑问同一个类的不同对象的的相同方法的方法内调用算不算递归.

这里我写的是单向链表;

实例代码:

package com.example.java;public class MyLink {public static void main(String [] args){ Link l=new Link();   mytype[] la;   mytype dsome=new mytype("韩敏","dsome",21);   mytype shao=new mytype("邵晓","john",45);   mytype hua=new mytype("华晓风","jam",46);   mytype duo=new mytype("余小风","duo",1000);   mytype wang=new mytype("王秋","jack",21);   mytype shi=new mytype("韩寒","bob",3000);   mytype yu=new mytype("于冬","keven",30); l.add(dsome);//测试增加节点   l.add(shao);   l.add(hua);   l.add(wang);   l.add(shi);   l.add(duo);   l.add(yu);   System.out.println("链表长度:"+l.length());//链表长度   la=l.toArray();   for(int i=0;i<la.length;i++){  System.out.println(la[i].getInfo());  } System.out.println("是否包含多余:"+l.contains(duo)+"\n");   System.out.println("删除多余后\n");   l.remove(duo);   la=l.toArray();   for(int i=0;i<la.length;i++){//转化为数组之后输出    System.out.println(la[i].getInfo());   }  System.out.println("\n利用索引方法输出全部数据");   for(int i=0;i<l.length();i++){    System.out.println(l.get(i).getInfo());   }  System.out.println("是否包含多余:"+l.contains(duo)+"\n");   l.clean();   System.out.println("执行清空操作后链表长度: "+l.length()+"\t是否为空链表:"+l.isEmpty()); }}package com.example.java;public class Link {private class node{//内部类 private Node next; private mytype data; public Node(mytype data){    this.data=data;  } public void addNode(Node newNode){//增加节点    if(this.next==null){     this.next=newNode;    }else{     this.next.addNode(newNode);    }   }   public mytype getNode(int index){//按照角标返回数据    if(index==Link.this.foot++){     return this.data;    }else{     return this.next.getNode(index);    }   }   public boolean iscontain(mytype data){//判断是否含有该数据    if(this.data.equals(data)){     return true;    }else{     if(this.next!=null){      return this.next.iscontain(data);     }else{      return false;     }    }   }   public void removeNode(Node previous,mytype data){//删除节点    if(this.data.equals(data)){     previous.next=this.next;    }else{     this.next.removeNode(this,data);    }   }   public void toArrayNode(){//转化数组     Link.this.Larray[Link.this.foot ++]=this.data;     if(this.next!=null){      this.next.toArrayNode();     }    }  }//内部类定义完毕 private Node root; private int count=0; private int foot; private mytype [] Larray;public void add(mytype data){//增加节点   if(data==null){    System.out.print("增加数据失败,数据为空");//测试用    return;   }   Node newNode=new Node(data);   if(this.root==null){    this.root=newNode;    this.count++;   }else{    this.root.addNode(newNode);    this.count++;   }  }  public int length(){//链表长度   return this.count;  }  public boolean isEmpty(){//是否为空链表   if(this.count==0)return true;   else return false;  }  public void clean(){//清空链表   this.root=null;   this.count=0;  }  public mytype get(int index){//索引返回节点所存的数据     if(index>=this.count||index<0){      System.out.print("越界错误");//测试用      return null;     }else{      this.foot=0;      return this.root.getNode(index);     }    }    public boolean contains(mytype data){//判断链表数据是否含data     if(data==null)      return false;     return this.root.iscontain(data);    }    public void remove(mytype data){//删除指定数据节点     if(this.contains(data)){      if(this.root.data.equals(data)){       this.root=this.root.next;       this.count--;        }      else{       this.count--;       this.root.next.removeNode(root,data);      }     }else{      System.out.print("删除错误");//测试用         }    }    public mytype[] toArray(){//把链表转化成对象数组     if(this.count==0){      return null;     }      this.foot=0;      this.Larray=new mytype [this.count];      this.root.toArrayNode();      return this.Larray;        }     }package com.example.java;public class mytype {private String name; private String people; private int age;public mytype(String name,String people,int age){//链表中的数据(可自定义)   this.name=name;   this.people=people;   this.age=age;  }  public boolean equals(mytype data){//判断数据是否相同   if(this==data){    return true;   }   if(data==null){    return false;   }   if(this.name.equals(data.name)&&this.people.equals(data.people)&&this.age==data.age){    return true;   }else{    return false;   }  }public String getName() {  return name;}public void setName(String name) {  this.name = name;}public String getPeople() {  return people;}public void setPeople(String people) {  this.people = people;}public int getAge() {  return age;}public void setAge(int age) {  this.age = age;} public String getInfo(){   return "名字 :"+this.name+"\n"+       "人物 :"+this.people+"\n"+       "年龄 :"+this.age;  }   }

--结束END--

本文标题: java项目如何使用链表

本文链接: https://www.lsjlt.com/news/227262.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java项目如何使用链表
    今天就跟大家聊聊有关java项目如何使用链表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java 中链表的定义与使用方法Java实现链表主要依靠引用传递,引用可以理解为地址,链表的...
    99+
    2023-05-31
    java 链表 ava
  • 责任链模式如何在Java项目中使用
    责任链模式如何在Java项目中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。责任链模式主要包括以下几个角色1、处理者:处理者是一个接口,负责规定具体处理者处...
    99+
    2023-05-31
    java 责任链模式 ava
  • 如何在Java项目中使用lambda表达式
    这期内容当中小编将会给大家带来有关如何在Java项目中使用lambda表达式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java8引入了lambda表达式。lambda表达式并不是新功能,只是为了方便代...
    99+
    2023-05-31
    java lambda ava
  • 正则表达式如何在Java项目中使用
    本篇文章为大家展示了正则表达式如何在Java项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.常用正则表达式规则正则表达式语法  一个或多个汉字^[\u0391-\uFFE5]+...
    99+
    2023-05-31
    java 正则表达式 ava
  • 线性表接口如何在java项目中使用
    这篇文章给大家介绍线性表接口如何在java项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。java 线性表接口的实例详解前言:线性表是其组成元素间具有线性关系的一种线性结构,对线性表的基本操作主要有插入、删除、...
    99+
    2023-05-31
    java 线性表 ava
  • 使用Java如何翻转单链表
    这篇文章将为大家详细讲解有关使用Java如何翻转单链表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java实现单链表反转,递归和非递归两种形式class Node { int val; ...
    99+
    2023-05-31
    java 单链表 翻转
  • 在java项目中怎么设计双链表
    这篇文章将为大家详细讲解有关在java项目中怎么设计双链表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。双链表的设计双链表的主要优点是对于任意给的结点,都可以很轻易的获取其前驱结点或者后继结...
    99+
    2023-05-31
    java 双链表 ava
  • Dreamweaver CS6如何使用项目列表
    这篇文章主要介绍Dreamweaver CS6如何使用项目列表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、使用无序列表无序列表中,表项前面的就是项目符号,如●、■等。在页面中通常使用标记<UL>和&...
    99+
    2023-06-08
  • 如何解决java项目中的防盗链
    本篇文章给大家分享的是有关如何解决java项目中的防盗链,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一.防盗链的概念内容不在自己的服务器上,通过技术手段将其他网站的内容(比如...
    99+
    2023-05-31
    java 防盗链 ava
  • File如何在Java项目中使用
    File如何在Java项目中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java中File的实例详解File代表文件或者目录的类构造函数File(File...
    99+
    2023-05-31
    java file ava
  • memcached如何在java项目中使用
    memcached如何在java项目中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Memcached是一个高性能的分布式内存对象缓存系统,本文介绍了jav...
    99+
    2023-05-31
    java memcached ava
  • Arrays.asList()如何在Java项目中使用
    本篇文章给大家分享的是有关Arrays.asList()如何在Java项目中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Arrays.asList() 是将数组作为列表。...
    99+
    2023-05-31
    java arrays.aslist() ava
  • zookeeper如何在java项目中使用
    这篇文章将为大家详细讲解有关zookeeper如何在java项目中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、zookeeper的基本原理数据模型,如下:ZooKeeper数据模型...
    99+
    2023-05-31
    zookeeper java ava
  • enum如何在java项目中使用
    今天就跟大家聊聊有关enum如何在java项目中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java 中enum的使用方法详解enum 的全称为 enumeration, 是 ...
    99+
    2023-05-31
    java enum ava
  • 如何在java项目中使用redis
    本篇文章给大家分享的是有关如何在java项目中使用redis,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、首先下载jar包放到你的工程中2、练习package c...
    99+
    2023-05-31
    redis java ava
  • ConcurrentHashMap如何在java项目中使用
    ConcurrentHashMap如何在java项目中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java 使用ConcurrentHashMap在某些场景下,我们想让线...
    99+
    2023-05-31
    java concurrenthashmap ava
  • ArrayList如何在Java项目中使用
    本篇文章为大家展示了ArrayList如何在Java项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ArrayList的类图结构ArrayList继承于 AbstractList,实现了 L...
    99+
    2023-06-14
  • 如何使用eclipse建立java项目
    小编给大家分享一下如何使用eclipse建立java项目,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java的优点是什么1. 简单,只需理解基本的概念,就可以编...
    99+
    2023-06-14
  • 如何在Java项目中使用Lombok
    本文章向大家介绍如何在Java项目中使用Lombok的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许...
    99+
    2023-06-06
  • BufferedReader如何在Java项目中使用
    这期内容当中小编将会给大家带来有关 BufferedReader如何在Java项目中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。BufferedReader 介绍BufferedReader 是缓冲...
    99+
    2023-05-31
    java bufferedreader buf
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作