zoukankan      html  css  js  c++  java
  • 第九章: 持有对象

    如果一个程序只包含固定数量得且其生命期都是已知得对象,那么这是一个非常简单的程序。

    如果一个类没有显式地声明继承哪个类,那么它自动地继承自Object。

    1.Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念:

    1) Collection。一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能有重复元素。Queue按照队列规则来确定对象产生的顺序。

    2) Map。一组成对的键值对对象,允许你使用键来查找值。

    Arrays.asList()方法接受一个数组或是一个用逗号分隔的元素列表(使用可变参数),并将其转换成一个List对象。Collections.addAll()方法接受一个Collection对象,以及一个数组或是一个用逗号分割的列表,将元素添加到Collection中。

    例如:

    HashSet、TreeSet和LinkedHashSet都是Set类型,其中HashSet是最快的获取元素方式,TreeSet是按照比较结果的升序保存对象,LinkedHashSet是按照被添加的顺序保存对象。

    HashMap、TreeMap和LinkedHashMap都是Map类型,与HashSet一样,HashMap也提供了最快的查找技术,也没有按照任何明显的顺序来保存其元素。TreeMap按照比较结果的升序保存键,而LinkedHashMap则按照插入顺序保存键,同时还保留了HashMap的查询速度。

    2.迭代器:

    迭代器(也是一种设计模式)是一个对象,它的工作是遍历并选择序列中的对象,而客户端程序员不必知道或关心该序列底层的结构。

    在Java中Iterator()只能单向移动,这个Iterator只能用来:

    1) 使用方法iterator()要求容器返回一个Interator。Interator将准备好返回序列的第一个元素。

    2) 使用next()获得序列中的下一个元素。

    3) 使用hasNext()检查序列中是否还有元素。

    4) 使用remove()将迭代器新近返回的元素删除。

    3.Queue:

    队列是一个典型的先进先出的容器。offer( )方法是与Queue相关的方法之一,它在允许的情况下,将一个元素插入到队尾,或者返回false。peek()和element()都将在不移除的情况下返回队头,但是peek()方法在队列为空时返回null,而element()会抛出异常。poll()和remove()方法将移除并返回队头,但是poll()在队列为空时返回null,而remove()会抛出异常。

  • 相关阅读:
    Beta版软件说明书
    团队项目第五天
    cnblogs用户体验评价
    团队项目测试计划
    Alpha版总结会议
    软件使用说明书
    团队绩效考核
    各个小组对于“我爱淘”的评价
    软件工程团队项目评价
    丹佛机场行李系统处理方案
  • 原文地址:https://www.cnblogs.com/xiaobaidashu/p/12288448.html
Copyright © 2011-2022 走看看