第五天 面向象3.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五天 面向象3

第五天 面向对象_04 3.1、链表(理解) ?????????链表是一种最基本的数据结构,但是对于数据结构的部分,强调以下几点: ???????????????????·?在整个Java开发领域之中,没有一本真正去讲解数据结构的书,只能去看C语言的数据结构; ???????????????????·?在所有的开发之中,都会存在数据结构的身影,可以这样去解释:数据结构的精通与否,完全决定于以后; ???????????????????·?数据结构的核心:引用数据类型操作。 3.1.1?、链表的基本概念 ?????????链表实际上可以理解为一串数据,或者按照专业性的说法,可以理解为动态的对象数组,对象数组最大优点:是表示出多的概念,例如:多个雇员。但是传统的对象数组有一个最大的问题在于,里面保存的数据的长度是固定的。 思考:如果说现在要想扩大一个对象数组的范围? ?????????·?建立一个新的对象数组,而后将原本的内容拷贝到新数组之中,再改变原数组的引用方式。 public class TestDemo { ?????????public static void main(String args[]) { ???????????????????String [] str = new String[] {Hello,World,MLDN} ; ???????????????????String [] newStr = new String[6] ; ???????????????????System.arraycopy(str,0,newStr,0,str.length) ; ???????????????????str = newStr ;??????//?改变引用,存在垃圾 ???????????????????str [3] = 你好 ; ???????????????????str [4] = 世界 ; ???????????????????for (int x = 0 ; x str.length ; x ++) { ????????????????????????????System.out.println(str[x]) ; ???????????????????} ?????????} } ?????????通过以上的分析,可以发现,对象数组所有的对象元素被数组的索引控制,可以说是自动完成的控制,但是链表需要人为进行关系的设置,而且每个操作设置的时候,除了要保存“对象”之外,还要再多保留一个引用。 ?????????这个引用就和之前讲解的领导是一样的:一个雇员的领导还是雇员,雇员领导的领导也是雇员。 范例:先给出链表的基本操作结构 class Node { ?????????private String data ;???????//?假设要保存的数据类型是字符串 ?????????private Node next ; ?????????public Node(String data) { ???????????????????this.data = data ; ?????????} ?????????public String getData() { ???????????????????return this.data ; ?????????} ?????????public void setNext(Node next) { ???????????????????this.next = next ; ?????????} ?????????public Node getNext() { ???????????????????return this.next ; ?????????} } 范例:挂节点 public class TestDemo { ?????????public static void main(String args[]) { ???????????????????// 1、设置数据 ???????????????????Node n1 = new Node(火车头) ; ???????????????????Node n2 = new Node(车厢A) ; ???????????????????Node n3 = new Node(车厢B) ; ???????????????????n1.setNext(n2) ; ???????????????????n2.setNext(n3) ; ???????????????????// 2、取出数据 ???????????????????Node currentNode = n1 ;???????//?设置每一个当前节点 ?

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档