java第七章 容器(内容非图片,可直接复制操作).docVIP

java第七章 容器(内容非图片,可直接复制操作).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
六节:容器 容器API ★Jdk所提供的容器位于java.util包内 ★容器API的类图结构如下图所示: 右边:一对一对往里装Map:定义存储 右边:一对一对往里装 Map:定义存储“ 键(key)---值(value)映射对” 的方法 左边:一个一个往里装 Collection:容器(分了两子接口) set:无顺序,不重复(如数学集合) 无下标,只能用Iterator逐一遍历 list:有顺序,可重复(两数eauals 即算重复) 按先来后到的顺序排序,有下标 collection接口中所定义的方法: add():方法添加 remove():删去方法(重要) import java.util.*; public class uniltset { public static void main(String[] args) { Collection c = new ArrayList();//c只能用collection类的方法 c.add(hello); c.add(new date1(2012,12,29));//此包Stringtest2里已有date1类 c.add(new Integer(100)); // c.add(int i=100);是错的,因为int是存放在栈内存里的,会随时清空,只能装对象 System.out.println(c.size()); System.out.println(c); c.remove(hello); //hello被去掉,String对象在date segment内存里一样字符为同一对象(数据内存里的节约办法) c.remove(new Integer(100)); //100被去掉,Integer类重写了equals方法,只要值相同,对象视为相同 System.out.println(c.remove(new date1(2012,12,29))); //false: 2012 12 29 未被去掉,不是同一对象 System.out.println(c); } } 结果: 3 [hello, 2012 12 29, 100] (collection的对象打印时的格式) false [2012 12 29] 为了使两个对象也能相等,现在重写date1里的equals方法, 注意重写equals方法应要重写hashcode方法(当类的对象当做索引时会用hashcode方法) class date1{ String year,month,day; date1(String y,String m,String day){ year = y; month = m; this.day = day; } public String toString(){ return year+ +month+ +day; } //此处开始重写date1类equals方法,供容器章目使用 public boolean equals(Object obj){ if(obj instanceof date1){ date1 d = (date1)obj; return (year.equals(d.year))(month==d.month)(day==d.day); } 这里写equals方法必须是对象才能写,String是类,这里如 果写int就错了,int是基本类型,没有方法 return super.equals(obj);(如果obj不是date1类的,就返回父类方法) } public int hashCode(){ return year.hashCode(); //引索的date1对象这里 } } 则上个函数结果:[ ] 2012 12 29 去掉了 2.Iterator接口(游标器,去遍历每个元素) 所有实现了Collection接口的容器类都有一个Iterator方 法用以返回一个实现了Iterator接口的对象 Iterator对象称作迭代器,用以方便的实现对容器内元素的遍 历操作 Itera

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档