- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- 案例如何选择购房贷款的还款方式.doc
- 高中英语书面表达的衔接与连贯课件.ppt
- 凤溪湖景区旅游开发项目可行性研究报告(可编辑).doc
- 高中化学高一第二学期期末考试试卷1—人教必修2(2).doc
- GBT1346-2011《水泥标准稠度用水量、凝结时间、安定性检验方法》 宣贯学习资料 .ppt
- 安全标准化危害告知牌.doc
- Java2实用教程课后答案_第三版_耿祥义_张跃平版.doc
- 佛山市顺德区路前产品设计公司在汽车零配件、车身的抄数逆向工程应用方案,运用实验室天远三维摄影测量系统.docx
- 巴林银行倒闭..ppt
- cha.06 消费者行为学的心理基础个性心理——消费者注意和理解 课件.ppt
原创力文档


文档评论(0)