欢迎来到天天文库
浏览记录
ID:56527614
大小:188.50 KB
页数:35页
时间:2020-06-27
《Java常见数据结构实现.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、常见数据结构的Java实现我们在编写程序时经常要和各种数据打交道,为处理这些数据所选的数据结构对于我们的程序的运行效率是非常重要的.这章讲述几种常见的数据结构的Java实现.在学习数据结构这门课程的时候,人们要用具体的算法去实现相应的数据结构,例如,为了实现链表这种数据结构,需要实现往链表中插入节点或从链表中删除节点的算法,感觉有些烦琐.在jdk1.2之后,Java提供了实现常见数据结构的类,创建链表等数据结构和创建数组一样简单,不再需要你去写具体的算法.我们主要讲述这些类的用法,但对这些数据结构的原理的掌握对于我们熟练地用好这些类还是很有帮助的.26.1链表如果需要处理一些类型相
2、同的数据,人们习惯上使用数组这种数据结构,但数组在使用之前必须定义大小,而且不能动态定义大小.有时可能给数组分配了太多的单元而浪费了宝贵的内存资源,糟糕的一方面是,程序运行时需要处理的数据可能多于数组的单元.当需要动态地减少或增加数据项时,可以使用链表这种数据结构.链表是由若干个称作节点的对象组成的一种数据结构,每个节点含有一个数据和下一个节点对象的引用(单链表),或含有一个数据并含有上一个节点对象的引用和下一个节点对象的引用(双链表).1.创建链表使用java.util包中的LinkedList类创建一个链表.例如,LinkedListmylist=newLinkedList()
3、;创建了一个空链表.然后mylist链表可以使用add()方法向这个链表依次增加节点.例如mylist.add(“It”);mylist.add(“is”);mylist.add(“a”);mylist.add(“door”);mylist可以使用方法publicObjectget(indexi)获取第i个节点中存储的数据.存放在节点中的数据都被看作是一个Object对象.importjava.util.*;publicclassLinkListOne{publicstaticvoidmain(Stringargs[]){LinkedListmylist=newLinkedList
4、();mylist.add("It");//链表中的第一个节点.mylist.add("is");//链表中的第二个节点.mylist.add("a");//链表中的第三个节点.mylist.add("door");//链表中的第四个节点.intnumber=mylist.size();//获取链表的长度.for(inti=0;i5、对象.需要注意的是当使用get()获取一个节点对象后,要用类型转换运算符转化回原来的类型.2、LinkedList类中的常用方法publicbooleanadd(Objectelement)向链表的末尾填加一个新的节点对象elememt.publicvoidadd(intindex,Objectelement)向链表的指定位置尾填加一个新的节点对象elememt.publicvoidaddFirst(Objectelement)把节点对象elememt填加到链表的表头.publicvoidaddLast(Objectelement)把节点对象elememt填加到链表的末尾.publ6、icvoidclear()删除链表的所有节点对象.publicObiectremove(intindex)删除指定位置上的节点对象.publicbooleanremove(Objectelement)将首次出现的节点对象elemen删除.publicObiectremoveFirst()删除第一个节点对象,并返回这个节点对象.publicObiectremoveLast()删除最后一个节点对象.publicObjectget(intindex)得到链表中指定位置处的节点对象.publicObjectgetFirst()得到链表中第一个节点对象.publicObjectgetLast7、()得到链表中最后一个节点对象.publicintindexOf(Objectelement)返回节点对象element在链表中首次出现的位置,如果链表中无此节点对象则返回-1.publicintlastIndexOf(Objectelement)返回节点对象element在链表中最后出现的位置,如果链表中无此节点对象则返回-1.publicObjectset(intindex,Objectelement)用节点对象element替换链表中指定位置处的节点对象.并返回
5、对象.需要注意的是当使用get()获取一个节点对象后,要用类型转换运算符转化回原来的类型.2、LinkedList类中的常用方法publicbooleanadd(Objectelement)向链表的末尾填加一个新的节点对象elememt.publicvoidadd(intindex,Objectelement)向链表的指定位置尾填加一个新的节点对象elememt.publicvoidaddFirst(Objectelement)把节点对象elememt填加到链表的表头.publicvoidaddLast(Objectelement)把节点对象elememt填加到链表的末尾.publ
6、icvoidclear()删除链表的所有节点对象.publicObiectremove(intindex)删除指定位置上的节点对象.publicbooleanremove(Objectelement)将首次出现的节点对象elemen删除.publicObiectremoveFirst()删除第一个节点对象,并返回这个节点对象.publicObiectremoveLast()删除最后一个节点对象.publicObjectget(intindex)得到链表中指定位置处的节点对象.publicObjectgetFirst()得到链表中第一个节点对象.publicObjectgetLast
7、()得到链表中最后一个节点对象.publicintindexOf(Objectelement)返回节点对象element在链表中首次出现的位置,如果链表中无此节点对象则返回-1.publicintlastIndexOf(Objectelement)返回节点对象element在链表中最后出现的位置,如果链表中无此节点对象则返回-1.publicObjectset(intindex,Objectelement)用节点对象element替换链表中指定位置处的节点对象.并返回
此文档下载收益归作者所有