《面向对象程序设计》集合.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一般情况下,写程序时可能并不知道究竟需要多少对象,因此Java提供了一套容器类库(java.util包)用以解决这个问题。 在Java容器库中有两个基本分类: (1) Collection<E> (2)Map<K,V> 它们的主要区别在于容器内每个位置所存储的元素个数。 属于Collection<E>类型者,其内的每个位置仅持有一个元素,提供了add()方法添加元素,这一类型包括有: List<E>: 以特定次序存储一组元素; 例如ArrayList<E>,Vector<E>都是一种List<E>。 Set<E>:元素不得重复。 Map<K,V>所持有的则是一群成对的key-value(键值-实值对),像个小型数据库,提供了put( )方法添加元素。 Collection<String> s1=new ArrayList<String>(); s1.add("h1"); s1.add("h2"); System.out.println(s1); Collection<String> s2=new Vector<String>(); s2.add("h1"); s2.add("h2"); System.out.println(s2); Map<String,String> m1=new HashMap<String,String>(); m1.put("a", "h1"); m1.put("d", "h2"); System.out.println(m1.keySet()); System.out.println(m1.values()); System.out.println(m1.entrySet()); 可以使用基本型的包装类将基本型置于容器List<E>、Set<E>、Map<K,V>中 在JDK1.5新特性,自动装包/拆包(Autoboxing/unboxing) 机制解决了包装类使用起来比较困难的问题。 int a=3; Collection<Integer> c=new ArrayList<Integer>(); c.add(a); //自动转换成Integer. Integer b=new Integer(2); c.add(b+2); \\这里Integer先自动转换为int进行加法运算,然后int 再次转换为Integer. 容纳基本型的数组要比容纳其包装类的容器工作效率高。 遍历Vector和ArrayList容器有哪三种方法? (1)The Vector Class and ArrayList Class (2)Iterator (3)Using the For-Each Loop in Collections The Vector class and ArrayList class java.util.Vector<E>和 java.util.ArrayList<E> ArrayList<E> a = new ArrayList<E>(); E在此处代表指定a中只能存放E类型的对象,假如试图将E类型对象以外的东西存入到 ArrayList 里,编译器将会标记这是一个错误。 存储的对象的个数没有限制; 从内部实现机制来讲ArrayList<E>和Vector<E>都是使用数组(Array)来控制容器中的对象。 当向这两种类型中增加元素的时候,如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度。 Vector缺省情况下自动增长原来一倍的数组长度,ArrayList增长原来的50%,最后你获得的这个容器所占的空间总是比你实际需要的要大。 ArrayList() Constructs an empty vector. int size() Returns the number of elements in this list. boolean add(E o) Appends the specified element to the end of this list. E get(int index) Returns the element at the specified position in this list. boolean remove(Object o) ?Removes a sin

文档评论(0)

today-is-pqsczlx + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档