




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章:绪论1、计£机科技的两大支柱1、数据结构2、算法程序=数据结构+算法2、数据结构定义:是一门研究非数值计算的程序设计问题中计算机的操作对 彖以及它们之间的关系和操作等等的学科。数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机 中并被计算机程序处理的符号的总称。数据元素(Data Element):是数据的某本单位,在计算机程序中通常作为一个胳体 进行考虑和处理。个数据元素可山若T个数据项组成。数据项足数据的不可分割的最小卩 位。数据结构(Data Structure):是相耳之间"在一种或多种特定关系的数据元素的集 合。3、数据结构主耍
2、指逻辑结构和物理结构数据之间的相互关系称为逻辑结构。通常分为四类基木结构: 集合结构中的数据元素除了同加于一种类型外,别无其它关系。 线性结构结构中的数据元素之间存在一对一的关系。树型结构结构中的数据元素之间存在一对多的关系。图状结构或网状结构结构中的数据元素之间心在多对多的关系。4、数据结构在计算机中有两种不同的表示方法:顺序存储结构:用数据元索在存储器中的相对位置來农示数据元素Z间的逻辑关 系。链式存储结构:在每一个数据元素中增加一个放地址的指针,用此指针來表示 数据元素之间的逻辑关系。5、数据对象:某种数据类型元素的集介。例:幣数的数据对象是3,2,1, 0, 1, 2, 3,英文字符类
3、型的数据对象是A, BC, D, E, F,数据类型:在一种程序设计语言中,变业所具有的数据种类。6、数拯结构的三个方而:数据结构的三个方面:线性农程性结构非缰性结构持形结徇曲形结构数据的存储结构铉式存储I魏据的运其:检索、序.插入、删除.修改等7、算法用抽象的语言描述解决特定问题的毎一步的操作。程序是计算机能理解 和执行的指令序列。个程序实现个算法。算法和程序的区别是算法的执行 是有穷的,而程序的执行可以是无限的。8、时间复杂度:时间复杂度为0(门2)的二重循环。 int n=9;foiXint i=0;i<nii+)fciitint j=O;j<(Kj+) SystRfmaut
4、prinllj 号); 如果int n=9;toiXint i=0;i<mi+) forUnt j=o;j<Uj+)Sygimaut4udjM(rj);二重循环的执行次数为0(®,时间复杂度仍为n(n +1)24.时间复杂度O(nlog2n)的二重循环。imn=8;fortint i=i;i<=nJ*=2)forfto j=1 ;j<=IKj+) SystexmoutMotld);循环次数为。c时间复杂度为OSIogzG).2 « = o (« log 2 «)t-15时间复杂度为Qo)的一重循环。 ini n=8;fortint
5、 i=1;i<=uJ*=2) fortint j=1 ;j<=Uj+)Sy stem.out.print(i*j);总的循坏次数为密 摯=%)o吋冋复杂度为QG)。9、1、什么是集合通常情况下,把具有相同性质的一类东西,汇聚成一个榕体,就可以称为集合 比如,用Java编程的所有程序员,全体中国人等。2、什么是集合框架集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合 框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。3、集合框架对我们编程有何助益:它减少了程序设计的辛劳、它提髙了程序速 度和质最。10、Collection接口是一组允许重复的对彖。S
6、ei接口继承Collection,但不允许亜复,使用|'|己内部的一个排列机制。List接口继承Collection,允许重复,以元索女插的次序来放置元索,不会重新 排列。Map接口是一组成对的键一值对象,即所持有的是kev-value pairso Map屮不能 有重复的kev。拥有H己的内部排列机制。容器屮的元索类型都为Object。从容器取得元索时,必须把它转换成原來的类型。第四章:递归1、递归的定义 若一个对象部分地包含它H己,或用它H己给H己定义,贝ij称 这个对彖是递归的:若一个过程仃接地或间接地调用门己,则称这个过程是递 归的过程。第五章:数组列表1、线性表是由 5M0)
7、个相同类型的数据元素。2,,他组成的有限序列,记作:LineaiList=dl, a2, an)其中,"表示线性表的元素个数,称为线性表的长度。2、线性表的顺序存储结构:是用一组连续的存储单元顺序存放线件表的数据元 索,数据元素在内存的物理存储次序与它们在线性表中的逻辑次序是一致的, 即数据元素g与其前驱数据元素刃-1及后继数据元素0十1的位置和邻。5、为什么需要串行化:希望AnavList对象保存到文件中,以便于恢复使用。6、如何实现类可串行化:见练习package java.io;public interface Serializable 标记接口7、塹遥是允许以一致的方式对集介
8、对彖的元素进行访问的对象。迭代器对象一旦发现另一个对象在结构上修改这一集介,就马上会报错。这是因 为一口你开始对一个AnayList对象进行迭代,就不能再修改这个ArrayList完 胳性。因此弹出 ConcunentModifica(ioiiException1. 掌握CoUection接I I含义及方法Collection 接 口Collection是层次结沟中的根接口。Collection表示一组对象, 这些对象也称为collection的元萦。JDK不提供此接口的任何 當矮实现:它提供具体的子接口(如Se(和List)实现。CollectionF 法 s pa clu ge j ava
9、.ufik public interface CdQecdon int sizeO诃返回此collection中的元未数. boolean ixEmptyQj“如果此 collecticm 不包含元条、则逼回 true. booleancontainsCObjecto);. juM此 coHactioc包含指唬的元走.則逞回 true. Iterator iteratorOy i&H在MtuoDectioii的元宏上进行迭代的迭代88 Object0 24曲住6;丄渥回包含此collection中所有元未的数虹 boolean add(Ob>ctcoBedioi定的元击(可趣作)
10、. boolnremove(Objecto):' Ajit coIlectiDii中移除指定元素的单个实洌.如栗存在的 话 < RTixift作). boo Lean concdxis.W(CoIlection 厲“如果此 collection 包含指定 collecdon 中的所有元未 则返回true- boolean addAll(Collectionc);acollecdfin 中的膚有元求擁添加到此 colkction 中t可选操作)- booleanremove.U(CoIlMtionc"丿蕩除此 collection 申那些也包含在指定 collectioi
11、i 中 的所有元求I可蓬斷). _oeaiHaanAIlfCollettioiic)z;仅保留此collection 申哥fit也包含曲定collection 的 void clearQ;collection + 09所有元求(可选揍作 boolean equals(Object o) 丫比较餐此colleetMm与揩定刈象是否相尊 int hastiCodeQ亍返回瓦volleEtion的哈曲玛值.2. 掌屣CoUcction接I I与List接I I的关系见练习本3. 掌握AirayLtst与数组2间的关系:AnayList对数组进行了排序,见练习本4. 从用户站度如何理解ArravLis
12、t ?从开发者角度如何理解ArrayList ? AixavList比数组多了一些增减数加的方法。5. 京握Aii-ayList常用方法的含义及使用方法。见书P1216. 会实现ArravList的顺序存储简化版,包括垠常用的方法size: LsEmptv(); containsObject o) ; indexOf(Object elem) : add(Object o) ; removeObject o) : cleai): get (int index): set (mt index. Object element)等(1) public mt size() remm size, (2)
13、 public boolean isEmpty)if(size=O)return true,elsereturn false,(3) public Boolean contams(Object o)reuim indexOf(o)>-0,(4) publicint indexOf(Object elem)if (elem = null) for (int 1 = 0,1 < size, i+) if(elementDatei=null) return i, else for (int 1 = 0,1 < size, i+)Lf (elem. equals(elementDat
14、?L)return l,return -1,(5) public boolean add(Object o)ensureCapaatysize+l), elementDatesize+=o, return true,(6) public Object removevint index"lfind ex<0|ind ex>=size)return null,Object teinp=elementDateindex,forint j=index j<size,j+)elementDatej=elemenrDa:e |+1,size-, return temp,(7)
15、public void cleai)modCount+4-,forint L=0<size+) elementData 1 =null,size-0,(8) public Object get(int index)if(ind ex<0| |ind ex>=size)return null,return dementDateLnd ex,(9)7. 理解ckme方法的倉义,并対浅克隆与深度克隆进行说明及图示 为什么需要克隆:希里获得一个副本,即另一份拷贝。如何实现类可克隆package java.lang;public interface Cloneable 标记接口Eg:
16、public Object clone0 try AnavList v = (AnayList)super.cloneO; / copies size v.elementData = new Objectfsize;Systeni.anaycopy(eleiDentData5 0, v.elenientData.O, size); v.inodCouiit = 0;return v,catch (CloneNotSuppoitedException e) / tins shouldnft liappen, since we are Cloneable throw new InteinalEii
17、oiO,)my List 1Kona? KamuelamvList3常见题忖Kona. Kilieii. 教材上的习题上机题常用几个方法的时间复杂度4. 阅读程序,写出运行结杲ArrayList let=nexv ArravListO,let.addC),let.add(O,letadddSystem. out.piintln(let.LndexOf|<<y,)力let.removel),System. out.pnntln(ler.getl),System. out.println(let. contains(<<r>,)人5. AiravList中定义了一个方
18、法,说明该方法在类中正确的方法名称public int unkown(Object elem) if (elem = null) for (int I = 0; i < size; 1+)if (elementDataiJ=null)return i; else 5 / 5for (hit i = 0; i < size; i+)if (elem.equals(elementDatai)return i;return -1;6. 假设向ArravList中添加如卜方法,写出每个方法的方法体<Fpublic boolean addFirst (Object element)pu
19、blic boolean addLast (Object element)public Object removeFirst()public Object removeLast()public Object gcrFust()public Object getLast ()第六章:链表一、要求1学握炖象变炭与对象实体关系图示说明简单变疑与对彖变最的区别2. 以单链表为存储结构,实现LuikedList的简化版,包括最常用的方法sizq): lsEmptyx): containsObject o) : mdexOf(Object elem) : add(Object o) : removeObj
20、ect o) : clear(): get (int index; : set (int index. Object element); get (int index), getFirst(JetLast()> 【emoveFusr( jyemoveLa stQ 等 public class MyLinkedList Entry header,int size,public MyLinkedList ()header=new Entrv(null jiullsizlO,public int SLze)return size,.public boolean isEmpty(丿if(SLze
21、0)return true,elsereturn false,public boolean add(Object o)Entry q=nev EntryO4iull),Entry p=header>while(p.next'=iiull)p-p.next,p.next=q,size+,return true,public void add(int index,Object element)/* if(ind ex< 0|ind ex> size)throw IndexOutOfBoundsException(+size)*/Entry q=nev Entryr( el
22、eaient jiull).Entry p-header,forint L=04<index>i+4-)p=p.next,6/67 / 5q.next=p.next>p.next=q,size 卄,public boolean containsObject elem)Enuy p-header.next, whilepnulljfif(p. element. equals(elem) return true, p=p.next, return false,/public Object get(int index"ex< 0| |md ex>-size)E
23、ntry q=header,for(int L=0<index+)q=q.next,return q,/public Object remove(int index"if(ind ex<0|md ex>=size)return null,Entry q=headeforint j=ind exj<size,j+)q-q.next,q.next=q.next.next,size-,return q,/public mt mdexOf(Object elem)if (elem = null)Fol (mt 1 = 0,1 < size, i+)if(elem
24、entDateLMnuLl)return i, else for (int 1 = 0,1 < size, i+)Lf (elem. equalselementDatefi)return l,return -1,3. 京握卩环徒衷定义并以单环链农的形式实现上题:见练习4. 掌握双端锻衣定义并以双端链衣的形式实现上题:见练习5. 掌握双向链表、双向循坏链表概念及定义;会画出双向循环链表的插入、删除图示以及会书写部分代码:见下6. 从用门角度如何理解LinkedUst?从开发者几度如何理解LmkedList?7. 掌握LinkedList帘用方法的含义及使用方法:见书P1508. 如何理解链
25、式存储结构中设工哨兵(头结点)的方式9. 如何理解LinkedList中header数据成员哨兵问题:private transient Entry header = new Entry(nuIL null);I。private transient int size = 0;简述 LinkedList ArravList 怎别如果应MI、於个索引位克的兀索进彳J:人啟存収/删除操作,ArrayLLSt对象要远远优 于 Lrnked List 对彖.如果用用程序主要对列表进行循环,并忖在循坏的时候进行插入或者删除操作, LmkedList对彖要远远优f AnavList对彖.12.你是如何理解迭
26、代器匸作?学握歪代器的使用方法:见卜1. 单链表的特点:每个元素(表项)由结点(Node)构成;线性结构header 一结点可以不连续存储表可扩充。2. 插入结点 第一种情况= 在笫一个结点前插入public void addFirst(Object c)/ make new EntryEntry ncwEntry = new Entry(o, null); ne wEii tr y. ne x t = lieader.next;header.next newEntry;newEntrv-*size+:header |匚 |lieadcr(插入前第二种情况二在链表中间插入newEntry. n
27、ext = .jjxWBlUOQXt; cmjyntnd = newEntiy ;currentLrR>(插入后)newEntry current -I I I I i - (插入前)第三种情况二在链表末尾插入 newEntry.next = cwrreoLiiext; curreutext = newEntry;newEntrj J current-.TB(插入前)newEntiy current -U3-1(插入后)3. 删除结点(1) public Object removeFirst()/ (assumes list not empty) Object first= headen
28、nextelement; header.next = header.next.next; size;return first;(2) public Object removeLast() Entry pre = header; Entry current=pre.next; while(current.next != null) pre= current; current = current.next; pre.next=null; size;return current.eleinent;4、' 为了显示链表,从header 始,沿着引用链从一个链结点到下一个链结点。 变吊一 cun
29、ent按顺庁:指向每一个链结点。Cunent tt先指向header,那里有笫一个 链节点的引用。public void displayList()System.out.print(11 List (header>last): tf);Entry current = header.next;/ start at beginning of listwhile(current != null) / until end of list,current.displayEntryO; / print data current = current.next; / move to next Entry
30、10/11System.out.pnntln5. 查找public int indexOf(Object o) int index = 0;for (Entry e = header.next; e != null; e = e.next) if (o.equals(e.element) return index;index+; return -1;public boolean contains(Object o) return indexOf(o) != -1;6、获取(1) public Object gctFirst() if (size= =0)throw new NoSuchEIem
31、entException();return headennext.element;(2) public Object get(int index) if (index < 0 II index >= size)throw new lndexOutOfBoundsException(VYIndex: M+index+”,Size: v,+size);Entry e = header.next;for (int i = 0; i < index; i+)e = e.next;return e.element; (3) public Object getLast() 7. 双端链表
32、、双端链表与传统的链表非常相似,但是它有一个新特性:对最后一个链结 点的引用,就像对第一个链结点的引用一样。Iterator 接口package ja a.util,public interface Iteiatoi boolean liasNextQ,Object next();void lenioveQ;Listiterator 接口package java.util;public inteiiace Listlteiatoi extends Iteiatoi boolean hasNextQ;Object nextQ;void lemoveQ;boolean hasPreious();O
33、bject previousy.mt nextlndexQ;mt pieviousIndexO,void set(Object o);void add(Object o);二.常见题目1. 教材上的习题2. 上机题3. 常用几个方法的时间复杂度4阅读程序,写出运行结果LinkcdList let-neu- LinkedListQ,let.add(4<p>,),let.add(O,let.add(“e”方System, out. pnntln(let. ind exOf( 力let. removal),System out.pmitln(lct.get(l),System, out.
34、 pnntln(let. contains(<4r>,)System. out.pnntln(let.getFirst(),5. LinkedList «|'义了一个方法,说明该方法在类屮正确的方法名称 public inr unkown(Object o) int index o,for (Entry e = head er. next, e '= null, e = e.next 丿if (o. equals(e. element)return index, mdex-H-,return -1,1. LinlcedList中定义了一个方法,说明该方法在
35、类屮正确的方法名称 public Object unkownint index) if (index < 0 | index >= size)brow new IndexOutOfBoundsExceptionC'Index H+index+*, Size H +size), Eiitiy e = head er. next , for (int 1 = 0,1 < index, i+)e = e.next,returne. element,第七章队列和栈一、要求1. 掌握队列、栈的基本概念:见下2. 利用单链表实现栈(一般不设芒哨兵,单链表的头为栈顶)3. 利用数组
36、实现栈(栈底为1)4. 学握利用 ArravList Linked List 实现栈5. 掌握利用双端讎表实现队列6. 掌握利用AiTavList> LinlcedList实现队列7. 以Queue或Stack为例,试述继/R * j介成的使用方法8. 掌握栈、队列所有方法的含义及使用1、队列是元素的序列,在队列中:(1) 只能在队列尾进行插入;(2) 只能在队列头进行删除、获取和修改.特点:先进先出;2、栈(stack)栈的定义和特点定义:限定仅在表尾进行插入或删除操作的线性表,表尾一栈顶,表头一栈底,(允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom); 不含元素
37、的空表称空栈;特点:先进后出(FILO)或后进先出(LIFO):3、堆栈是一个元素序列。堆栈中唯一能被删除、访问或修改的元素是最近插 入的元素。这个元素就是位于堆栈顶部的那个元素。TOP 最近插入的数据元素PUSH入栈,在栈顶插入一个数据元素POP -出栈,删除栈顶的数据元素4、下面操作输入的结果是多少:Stack inyStack = new Stack();for (int i = 0; i < 10; i+)niyStack.push (new Integer (i * i);while (!myStack.isEmpty()gui.println (mvStack.pop();结
38、果是:0、1、4、9、16、25、36、49、68、81、 常见题目1. 敦材上的习题、上机题、常用几个方汰的时间复杂度写出卜列程序段的输出结果 public stauc void main(Smng args )10/15Stack S = new StackX(10),Character xy,x-neu- Character ('&),y- new Character ('k'),S.push(x),S pushneu* Character ('a'),S.push(y),S.popO,S.push(new Character (>t
39、>),S.push(x),S.popx),S.push(newCharacter d), while(,S.isEnipty) S.pop(y力System.out.pmiqy力, Svsteni our.pnntln(x 丿,5.写出卜列程序段的输出结果。public static void maiixStnng args )Queue Q=nev Queuq人Character x=ikv Characteq'e'), y= ncv CharacteR'c'力Q.enQueue (new Charactcr'hj),Q.enQueue (new
40、 Characreql')人Q enQueue CLiaracterV),Q. enQueue (x),Q. enQueue (x力Q.deQueue(x),Q. enQueue (ne* Charactcraj), whileCQisEmpty(j) Q deQueue (v),Systemout.pnntyA , Svstem. out.pnndn(x),答输出为"char6说明卜面算法的功能void algo2(Stack S,Object e)Stack T = new StacksObject d,WlilqSisEmptyo) d=S.popO,改|dcqualc
41、) Tpushed人whilet'T.isEmptv()EpopO,S.pushed),第八章:二叉树与二叉搜索树一.耍求1. 掌握二叉树的某本概念二叉树的定义一標二叉树是结点的一个有限集合.该集合或 者为空,或者是由一个根结点加上两搽分别称 为左子榔利右子树的、互不相立的二叉树俎riU二叉树的五种不同形态2. 熟悉出二叉树的5个性质:见F3. 学握二叉树的洌种遍历方法:先根,中根,后根,宽度优先遍历4. 掌握二叉搜索树的概念?5. 学握二叉树使用链式存储结构时结点描述及二叉树的描述(定义)用数组存储完全二叉树是非常有效的。 完全二叉树能用ArrayList存储么?可以,其效率等同于用
42、数组来存储.如果用LinkedList存储呢? 不是一个很好的选择。对于无序的数组,ArrayList,或者LinkedList集合插入、查找或者删除的时间复杂度是羽的线 性函数。6. 掌握二义搜索树的插入兀索算法,并能够依据该算法生成颗二义捜索树,会用汉语描 述删除元素的算法?见练习7. 教材中BinS earchTree类中査找某一个尤索的算法?8完全二叉树采用顺序存储结构实现,试描述二叉树的定义及实现最甚木方法?1、树的定义树是由a (n 0)个结点组成的有限集合,如果11=0,称为空树;如果11 > 0,则1)有一个特定的称之为根(loot)的结点,它只有氏接后继,但没有氏接前
43、驱;2) 除根以外的其它结点划分为m (m>=0)个互不相交的有限集合TO, Tl,.,Tn)-l,每个集合乂是一棵树,并且称之为根的子树。2、树的特点:每棵子树的根结点有且仅有一个冇接前驱,但可以有0个或多个 宜接后继。3、二叉树的性质:1) 若二叉树的层次从0开始,则在二叉树的第1层最多有21个结点。(10)2) 高腹为h的二叉树最多有2/+1-1个结点。(/?>-1)3) 对任何一棵二叉树,如果其叶结点有“0个,度为2的非叶结点有7/2个, 则有:0=2+1若设二叉树的高度为几 则共有加4层。具有n (/ > 0)个结点的完全二义树的高度为log2(“十1)110/#性
44、止如将一棵有科个结点的完全二叉树自 顶向下,同一层自左向右连续给结点編号ST,则有以下关系r若20则f无双亲若4 0则I的双亲为L(L1”2若2引+1為则i的左子女为2*/+b若2屮2 v瓠则f的右子女为2W+2胃若i为偶数且i* 0,则其左兄弟为卜h若i为奇数且"丹丄则其右兄弟为卄15)4、遍历二叉树(见书上)5、储存结构BinSearchTiee类不是Jaw集介框架的一部分,但是它实现了 Collection接口。 实际上,BinSearchTiee只实现Collection接口的轻微扩充:Set接口。Set接口 继承了 Collecucm接口,并且不允许有重复的值。6. pub
45、lic boolean contains (Object o) Entiy temp = loot,int comp,while (temp != null) comp = (C ompai a ble) o) .c ompai e T o(temp, element);if (comp = 0)return true,if (comp < 0)temp = temp.left. elsetemp = tenip.uglit, / wiule return false, / contains7> averageTime(/i)是 O(log n).二、 常见题目1. 敦材上的习题、
46、上机题、常用儿个方法的时间复朵度2. 从一棵空的二叉排序树开始,将以卜关键码值依次插入:25,13,15,31,7,20,37,请画出插 入全部完成后的二叉排序树。3给出卜列二叉数的先根、中根、后根遍历的结点序列。4.树的基本概念第十章:TreeMap、TreeSet一、要求掌握映射Map接II及英的仟义?10/191. 掌握集合Set接I I及其的含义?2. 比较CoUection接II及K Set接II的差别Set对Coolection进行了限制,限制了重复的部分。3. 学握TreeMap数据存储结构,学握TreeMap类内部结点的定义?4. 掌握TreeMap类有常用方法含义及使用方法5
47、. 使用TreeMap类中返回键集、值集、键值集方法,熟悉这些方法如何使用迭代器? package treemappack.import java.util.*,public class TestTreeMap public static void imin(Stnng args) TreeMap rml=nev TreeMap(), /*System.out.pfintln(,isEniptyr-H+tml.LsEnipt),*/ tml'put(M2009010rHhsr,), tml.put(M20090203HwangvuH),/Systein.out.println(Hput
48、-M+tinl.put(,20090203H/,wangvu,J),*/ tml.put(M 20090102H, HzhangsanM), tml.put(M20090104 HhuluH),/*System.out.piintlix,,get=,H-tinl.get(,20090203,J),System.out.pnntln(Hput=,+rml.put(M20090203, vwangwu j),System. out.pnndn(Hget-M+tLnl.get(,20090203n),System. out.prmtln( * * size= +tnil. szq),System.
49、out.pnntin(HisEmptvr= ,+tml isEmptv)J,/ /*Iterator itr=tml. key S et(). it era tor), while(itr.hasNext()System, out.pnnt(H M+itr.nextO),System. out.pLintln(),Iterator it=tml lu es(). it era tor(while(it.hasNextO)System out. pnnt(HSystem. out.pnnthiQ,Iterator ite=tnil.entrySet().iteratoi),xvhile(ite.
50、 hasNext()System, out. pnnt(H M+ite. next( ),*/TreeMap rm2=n 亡 w TreeMap(),tm2putf20090305” Jqqqqq)tm2putAll(unl 力/Iterator itr=un2. key S et().itenitoixxvhile(Ltr.hasNext()Systemout.pnnt(H M+itr.next(),System. out.pnndn(),Iterator Lt=tm2vahjesUiteratorQ,whileit.hasNextO)System out.pnnt(H M+it.nextQ
51、),System. out.prmdi),Iterator ite=tni2. entnrS et(). lteni tor(),16/16xvhile(ite.hasNext()System, out.pnnt(HSystem outpnntlnC”+tm2【emoYeC 20090305”),System. out.pnndn(M "+tm2.coiitaLnsKe、i”20090305J力System. out.pnndn(H H+tm2. containsValue(,qqQqqM),tm2.cleaix),Iterator itr=tm2.keySet().iterator
52、(), whil e(itr. ha sNext()System. out-pLintC1 n+itr.nextO),6. 比较 Comparator 接 11 与 Comparable 接 I I ?练习7. TreeSet类有哪些常用方法,解释方法的含义?8. 比较TreeMap与TreeSet区别与联系(从用戸的角度、从开发人员的角度)?9. 篆握TreeMap与TreeSet的简单应用(注意有序)1、映射(MAP )是一种集合,集介中的每个数据元素都由两部分组成唯一的 键(KEY)部分和值(ALUE)部分。2、Java 屮定义:public liiteilace Map将键映射到值的对
53、象。一个映射不能包含重复的键;每个键最多只能映射到 一个值。Map接口提供三种collection视图,允许以键集、值集或键-值映射关系集的 形式査看某个映射的内容。映射磁7齐定义为迭代器在映射的collection视图上 返回其元素的顺序。某些映射实现可明确保证其顺序,如Tree Map类;另一些 映射实现则不保证顺序,如Hash Map类。3、用迭代器遍历students里的元氣Itemtoi id = students.eutiySet( ).iteiatoi();while (iti.liasNext()gui.piintlii (iti.next(),用迭代器遍历students里的
54、键值:Iterator ltr = students.keySet( ).iterator();wlule (iti.hasNext()gui.pnntln (itr.next();用迭代器遍历students里的值:Iteiatoi lti = snidents.values( ).iteiatoi(),wlule (itr.liasNext()gui.pnntln (iti.next(),4、Comparator接口允许用户在一个类电覆盖此接口.例如,如果我们想 String对象按照字符串长度來排序來替代原來的方法.例如:public class ByLength unplejjieiit
55、s Comparatoi public mt compaie (Object ol, Object o2) leniin (S(nng)o 1 ).length() 一 (Stung)o2).length(); / compare/ uses Object's version of equals / class BvLengthTieeMap yourMap = new TreeMap (new ByLength();youiMap.put ("yes”,new Integer (1);youiMap.put ("no”,new Integer (1); youiMap.put (hnaybeS new Integer (1);youiMap.put (utnien, new Incegei (1), youiMap.put C'false, new Integer (1);现在关键字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》模拟题库带答案详解(考试直接用)
- 2025年教师招聘之《幼儿教师招聘》题库及答案详解【全优】
- 2025一建《水利水电工程管理与实务》押题卷A卷
- 乳品新产品平台创新创业项目商业计划书
- 押题宝典教师招聘之《小学教师招聘》通关考试题库及参考答案详解(模拟题)
- 教师招聘之《小学教师招聘》能力提升题库及参考答案详解【突破训练】
- 2025内蒙古呼伦贝尔农垦集团有限公司招聘笔试及答案详解(名校卷)
- 教师招聘之《小学教师招聘》模拟考试高能附参考答案详解【b卷】
- 教师招聘之《小学教师招聘》提分评估复习附参考答案详解(培优b卷)
- 教师招聘之《小学教师招聘》考前冲刺分析附答案详解【a卷】
- 劳动课种植教学方案
- 2024年全国职业院校技能大赛高职组(环境检测与监测赛项)考试题库(含答案)
- 实验-大肠杆菌感受态细胞的制备及转化
- 2025年中考语文阅读复习:理解词语含义(含练习题及答案)
- GB/T 44421-2024矫形器配置服务规范
- 磷酸哌嗪宝塔糖的毒理学研究
- 【课件】2025届高三生物一轮复习备考策略研讨
- 灵芝培训课件
- 环形开挖预留核心土法
- 妇科医生进修汇报课件
- 《科室管理方案》课件
评论
0/150
提交评论