清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第13章 对象容器

第13章 对象容器 Collection类 Map类
第13章 • 对象容器 – Collection类 – Map类

简介List界面 Lit界面是 javautil. Collection接口的子接口 Collection界面是」 java. lang Iterable子界面 package java. langi import java.util. Iterator public interface Iterable f Iterator iterator(i 在 Java se的AP中找不到任何实作 terator的类别 terator会根据实际的容器数据结构来迭代元素 而容器的数据结构实作方式对外界是隐藏的
简介List界面 • List界面是java.util.Collection接口的子接口 • Collection界面是java.lang.Iterable子界面 • 在Java SE的API中找不到任何实作Iterator的类别 – Iterator会根据实际的容器数据结构来迭代元素 – 而容器的数据结构实作方式对外界是隐藏的 package java.lang; import java.util.Iterator; public interface Iterable { Iterator iterator(); }

简介List界面 Collection界面继承了 iterator界面 package java. utili public interface Collection extends Iterable t int sizeof boolean isEmpty ()i boolean contains(object o)i Iterator iterator( T[] toArray(T[] a)i boolean add(e o) boolean remove(object o)i boolean containsAll(collection c)i boolean addAll(Collection c)i boolean removeAll( Collection c)i boolean retainAll(collection c) void clear()i boolean equals(object o)i int hashCode (
简介List界面 • Collection界面继承了Iterator界面 package java.util; public interface Collection extends Iterable { int size(); boolean isEmpty(); boolean contains(Object o); Iterator iterator(); T[] toArray(T[] a); boolean add(E o); boolean remove(Object o); boolean containsAll(Collection c); boolean addAll(Collection c); boolean removeAll(Collection c); boolean retainAll(Collection c); void clear(); boolean equals(Object o); int hashCode(); }

简介List界面 每个加人List中的元素是循序加入的’并可 指定索引来存取元素 package java.util public interface List extends Collection I boolean addAll(int index, Collectionc) e get(int index) E set(int index, E element)i void add(int index, E element)i E remove(int index) int indexof(object o)i int lastIndexof(object o)i List sublist(int fromIndex, int toIndex)i
简介List界面 • 每个加入List中的元素是循序加入的,并可 指定索引来存取元素 package java.util; public interface List extends Collection { .... boolean addAll(int index, Collection c); E get(int index); E set(int index, E element); void add(int index, E element); E remove(int index); int indexOf(Object o); int lastIndexOf(Object o); List subList(int fromIndex, int toIndex); .... }

简介List界面 Lit可以使用数组(Aray)或是链结串行 ( Linkedlist)来实作这个特性 对于循序加入与存取,使用 ArrayList的效率 比较好 对于经常变动元素排列顺序的需求,使用 Linkedlist会比较好
简介List界面 • List可以使用数组(Array)或是链结串行 (LinkedList)来实作这个特性 • 对于循序加入与存取,使用ArrayList的效率 比较好 • 对于经常变动元素排列顺序的需求,使用 LinkedList会比较好

ArrayList 使用数组结构实作List数据结构 可以使用索引来快速指定对象的位置 于快速的随机取得对象来说·使用 Array List 可以得到较好的效能 若要从中间作移除或插入对象的动作,会 需要搬动后段的数组元素以重新调整索弓 顺序,所以速度上就会慢的多
ArrayList • 使用数组结构实作List数据结构 • 可以使用索引来快速指定对象的位置 • 于快速的随机取得对象来说,使用ArrayList 可以得到较好的效能 • 若要从中间作移除或插入对象的动作,会 需要搬动后段的数组元素以重新调整索引 顺序,所以速度上就会慢的多

ArrayList Scannerscanner new scanner(System. in) List list new ArrayListo)i System.out. println("输入名称(使用quit结束)"); while(true) t System. out. print ("#")i string input scanner next()i if(input equals("quit ) break list. add(input)i System,out, print("显示输入:"); for(int 0; i< list size(); 1++) System. out. print (list. get (i)+") System. out. println ()i
ArrayList Scanner scanner = new Scanner(System.in); List list = new ArrayList(); System.out.println("输入名称(使用quit结束)"); while(true) { System.out.print("# "); String input = scanner.next(); if(input.equals("quit")) break; list.add(input); } System.out.print("显示输入: "); for(int i = 0; i < list.size(); i++) System.out.print(list.get(i) + " "); System.out.println();

ArrayList 如果您的目的是要循序取出容器中所有的 对象,则您可以使用 I Iterator Iterator iterator =list iterator( while(iterator hasNext( //还有下一个元素吗? //使用nex()取得下一个元素 System. out. print (iterator. next()+)i Iterator的实例是在 ArrayList中根据数组的 洁构而实作的,但您不用理会实作细节
ArrayList • 如果您的目的是要循序取出容器中所有的 对象,则您可以使用Iterator • Iterator的实例是在ArrayList中根据数组的 结构而实作的,但您不用理会实作细节 Iterator iterator = list.iterator(); while(iterator.hasNext()) { //还有下一个元素吗? //使用next()取得下一个元素 System.out.print(iterator.next() + " "); }

ArrayList 使用「增强的for循环」( Enhanced forloop)来直接漏访List的所有元素 //使用 foreach来福访List中的元素 for(string s list) t System. out. print(s +)i
ArrayList • 使用「增强的for循环」(Enhanced forloop)来直接遍访List的所有元素 //使用foreach来遍访List中的元素 for(String s : list) { System.out.print(s + " "); }

Linkedlist 如果经常从容器中作移除或插入对象的动 作,使用 Linkedlist会获得较好的效能 Linkedlist使用链结串行( Linkedlist)实作 了List界面 addFirsto丶 addlast()、 getFirst0 getlast(0、 remove first()、 removelast(0
LinkedList • 如果经常从容器中作移除或插入对象的动 作,使用LinkedList会获得较好的效能 • LinkedList使用链结串行(Linkedlist)实作 了List界面 • addFirst()、addLast()、getFirst()、 getLast()、removeFirst( )、removeLast() 等
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第12章 泛型(Generics).ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第11章 枚举类型.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第10章 例外处理.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第9章 管理类别档案.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第8章 继承、多型.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第7章 封装.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第6章 字串.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第5章 数组.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第4章 从autoboxing、unboxing认识对象.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第3章 语法入门.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第2章 入门准备.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第1章 了解Java.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第1章 oracle数据库概述.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第16章 基于Oracle数据库的应用开发.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第15章 PLSQL程序设计.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第14章 SQL语言基础.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第13章 网络管理.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第12章 数据库备份与恢复.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第11章 安全管理.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第10章 模式对象.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第14章 输入、输出.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第15章 线程.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第16章 反射.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第17章 Annotation.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第18章 舍遗补缺.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第19章 文本编辑器.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第20章 JDBC入门.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第21章 Java SE6新功能简介.ppt
- 《C语言程序设计》课程教学资源(PPT课件)PPT课件 第五章 数组.ppt
- 南开大学:《上机试习题集—二级C语言程序设计》PDF电子书(编程和改错各100例).pdf
- 《Flash动画设计教程》PPT教学课件(共五章).ppt
- 陕西科学技术出版社:《计算机基础实用教程》PDF电子书(共六章).pdf
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 系统设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论(主讲:郑莉).ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十章 C++标准模板库.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入/输出.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十三章 MFC库与Windows程序开发概述.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第二章 C++简单程序设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第三章 函数.ppt