实用数据结构-2.ppt

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

实用数据结构 主讲:常 璐 计算机科学技术系 课程回顾 Java集合框架 数组 Arrays类 Arrays类 java.util里面有一个Arrays类,提供了动态创建和访问Java数组的方法。 equals():用于比较两个数组是否相等,相等的条件是两个数组的元素个数必须相等,并且对应位置的元素也相等。 fill():只能用一个值填数组 sort():用来对数组进行排序(默认自然序) binarySearch():用于在一个已排序的数组中查找元素 asList():接受任意的数组为参数,将其转变为 List 容器。 本讲内容 List接口 Iterator接口、ListIterator接口 ArrayList类 泛型 List接口 结构特点 有序的Collection(也称序列),用户能够使用索引(元素在List中的位置)来访问List中的元素。 List允许有相同的元素。 常用实现类 List接口 常见方法 对列表元素进行定位(索引)访问 特殊的迭代器——ListIterator 搜索指定对象 在任意位置插入和删除多个元素 迭代器(Iterator) 定义 对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。 获取 iterator():让容器传一个Iterator对象,来访问集合中的元素(单向遍历) 方法 next():返回迭代的下一个元素。第一次调用Iterator的next()方法会返回序列中的第一个元素 hasNext():如果仍有元素可以迭代,则返回 true remove():从迭代器指向的 collection 中移除迭代器返回的最后一个元素 遍历方法 列表迭代器(ListIterator) 按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。 ListIterator没有当前元素。 光标位置始终位于调用 previous()所返回的元素和调用 next()所返回的元素之间。 方法 add(e):将指定的元素插入列表 hasNext():?以正向遍历列表时,如果列表迭代器有多个元素,则返回 true hasPrevious():如果以逆向遍历列表,列表迭代器有多个元素,则返回 true next():返回列表中的下一个元素 previous():返回列表中的前一个元素 set(e):用指定元素替换 next 或 previous 返回的最后一个元素 remove():从列表中移除由 next 或 previous 返回的最后一个元素 ArrayList类 定义:是一种线性表,在内存中是连续存储的。 结构特点 优点 可变大小的数组的List实现 随机访问速度极快 缺点:向列表中间插入和删除元素比较慢 容量(Capacity) 集合中可容纳元素的数量——默认为10,也可指定大小 可随着不断添加新元素而自动增加 调用ensureCapacity方法增加ArrayList的容量,提高插入效率 常用方法 详见API 课堂案例 创建一个类Cat 包含属性name,在构造方法中进行初始化 添加一个方法show(),用以打印name属性的值 创建一个类CatTest,添加main方法,实现 创建一个ArrayList,向其中添加几个Cat对象 遍历该集合,并且对每个Cat对象调用show()方法 参考代码 数组与ArrayList的转换 使用集合框架注意事项 泛型(generic) 是Java5.0开始加入的特质,用表示 泛型意味着更好的类型安全性 举例说明使用泛型和未用泛型的区别 需要知道有关泛型的三件事 创建被泛型化类(例如ArrayList)的实例 声明与指定泛型类型的变量 声明(与调用)取用泛型类型的方法 如:ListCat catList= new ArrayListCat(); 此时只能向catList中放入Cat类型的对象,取出时仍然是Cat类型的引用。而不再是Object,因而也就不用强制类型转换。 * * 第二讲 List接口和ArrayList类 ArrayList LinkedList 列表中元素可重复 get(i)、set(i,e)、add(i,e)、romove(i) listIterator()、 listIterator(i) 允许元素插入、替换、 双向访问 contains(o)、remove(o)、indexOf(o)、lastIndexOf(o) addAll(i,c)、removeAll() 1 2 3 2 3 循环语句 for(int i=0;i…;i++) 迭代器 Iterator it = l

文档评论(0)

yyh2000710 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档