泛型与集合框架.ppt

  1. 1、本文档共116页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例7-11:求集合A、B的对称差集合,即求(A-B)∪(B-A)。 HashSetInteger A=new HashSetInteger(), B=new HashSetInteger(), tempSet=new HashSetInteger(); A.add(one); A.add(two); A.add(three); A.add(four); B.add(one); B.add(two); 例7-11:求集合A、B的对称差集合,即求(A-B)∪(B-A)。 B.add(five); B.add(six); tempSet=(HashSetInteger)A.clone(); A.removeAll(B); //A变成调用该方法之前的A集合与B集合的差集。 B.removeAll(tempSet); //B变成调用该方法之前的B集合与tempSet集合的差集。 例7-11:求集合A、B的对称差集合,即求(A-B)∪(B-A)。 B.addAll(A); //B就是最初的A与B的对称差。 int number=B.size(); System.out.println(A和B的对称差集合有+number+个元素:); IteratorInteger iter=B.iterator(); while(iter.hasNext()){ Integer te=iter.next(); System.out.printf(%d,,te.intValue()); } } } 7.5 HashSetE泛型类 请同学们思考,为什么在这个地方不能直接把数据添加到集合当中去? 7.5 HashSetE泛型类 4、HashSetE泛型类实现的接口 HashSetE泛型类实现了泛型接口SetE,而SetE接口是CollectionE接口的子接口。HashSetE类中的绝大部分方法都是接口方法的实现。编程时,可以使用接口回调技术,即把HashSetE对象的引用赋值给CollectionE接口变量或SetE接口变量,那么接口就可以调用实现的接口方法。 7.6 HashMapK,V泛型类 HashMapK,V也是一个很实用的类,HashMapK,V对象采用散列表这种数据结构存储数据,习惯上称HashMapK,V对象为散列映射对象。散列映射用于存储键/值数据对,允许把任何数量的键/值数据对存储在一起。键不可以发生逻辑冲突,两个数据项不要使用相同的键,如果出现两个数据项对应相同的键,那么先前散列映射中的键/值数据对将被替换。 7.6 HashMapK,V泛型类 散列映射在它需要更多的存储空间时会自动增加容量。例如,如果散列映射的装载因子是0.75,那么当散列映射的容量被使用了75%时,它就把容量增加到原始容量的2倍。对于数组和链表这两种数据结构,如果要查找它们存储的某个特定的元素却不知道它的位置,就需要从头开始访问元素直到找到匹配的为止;如果数据结构中包含很多的元素,就会浪费时间。 7.6 HashMapK,V泛型类 这时最好使用散列映射来存储要查找的数据,使用散列映射可以减少检索的开销。 散列方法不同于其他的查找方法(顺序查找、二分查找)。它不以关键字的比较为基本操作,采用直接寻址技术。在理想情况下,无须任何比较就可以找到待查关键字。 7.6 HashMapK,V泛型类 1、HashMapK,V对象 HashMapK,V泛型类创建的对象称为散列映射,例如: HashMapString,Student hashtable=new HashMapString,Student (); 7.6 HashMapK,V泛型类 那么,hashtable就可以存储键/值数据对,其中的键必须是一个String对象,键对应的值必须是Student对象。hashtable可以调用public V put(K key,V value)将键/值数据对存放到散列映射当中,同时返回键所对应的值。 7.6 HashMapK,V泛型类 2、常用方法 HashMapK,V泛型类的常用方法: public void clear()——清空散列映射。 public Object clone()——返回当前散列映射的一个克隆。 7.6 HashMapK,V泛型类 public boolean containsKey(Object key)——如果散列映射有键/值数据对的值是参数指定的

文档评论(0)

it + 关注
官方认证
内容提供者

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

认证主体阳春市夕秋图文设计有限公司
IP属地广东
统一社会信用代码/组织机构代码
91441781MA55YY8A1L

1亿VIP精品文档

相关文档