AbstractCollection:
public abstract class AbstractCollection<E>
extends Objectimplements Collection<E>
此类提供了 Collection 接口的骨干实现,从而最大限度地减少了实现此接口所需的工作。
要实现一个不可修改的 collection,程序员只需扩展此类,并提供 iterator 和 size
方法的实现。(iterator 方法返回的迭代器必须实现 hasNext 和 next。)要实现可修改的 collection,程序员还必须另外重写此类的 add 方法(否则,会抛出
UnsupportedOperationException),并且 iterator 方法返回的迭代器必须另外实现其
remove 方法。按照 Collection 接口规范中的推荐,程序员通常应该提供一个 void (无参数)和 Collection
构造方法。此类中每个非抽象方法的文档详细描述了其实现。如果要实现的 collection 允许更有效的实现,则可以重写这些方法中的每个方法。
public boolean add(E e) {
throw new UnsupportedOperationException();
}
public boolean remove(Object o) {
Iterator<E> e = iterator();
if (o==null) {
while (e.hasNext()) {
if (e.next()==null) {
e.remove();
return true;
}
}
} else {
while (e.hasNext()) {
if (o.equals(e.next())) {
e.remove();
return true;
}
}
}
return false;
}
AbstractList
public abstract class AbstractList<E>extends AbstractCollection<E>implements List<E>
此类提供 List
接口的骨干实现,从而最大限度地减少了实现由“随机访问”数据存储(如数组)支持的接口所需的工作。对于连续的访问数据(如链表),应优先使用
AbstractSequentialList,而非此类。要实现不可修改的列表,程序员只需扩展此类,并提供 get(int index) 和 size() 方法的实现。要实现可修改的列表,程序员还必须另外重写 set(int index, Object element) 方法,否则将抛出
UnsupportedOperationException。如果列表为可变大小,则程序员必须另外重写 add(int index,
Object element) 和 remove(int index) 方法。按照 Collection 接口规范中的推荐,程序员通常应该提供一个 void (无参数)和 collection 构造方法。与其他抽象 collection 实现不同,程序员不必
提供迭代器实现;迭代器和列表迭代器由此类在以下“随机访问”方法之上实现:get(int index)、set(int index,
Object element)、set(int index, Object element)、add(int index,
Object element) 和 remove(int index)。此类中每个非抽象方法的文档详细描述了其实现。如果要实现的 collection 允许更有效的实现,则可以重写这些方法中的每个方法。
分享到:
相关推荐
视图的一个重要行为是它们是“活动的”:由于视图类委托给原始集合,因此对原始集合对象的任何修改都将在视图对象中可见。 在集合上创建一个不变的视图不会复制该集合,因此比在集合上创建一个不变的副本要快得多。...
修改视图: 通过OR REPLACE 重新创建同名视图即可。 视图上的DML 操作: DML操作应遵循的原则: 1.简单视图可以执行DML操作; 2.在视图包含GROUP 函数,GROUP BY子句,DISTINCT关键字时不能删除数据行; 3....
pathfinder工作的疏散模型提供了三种主要观点:二维视图,三维视图,视图和导航。这些观点代表了你目前的模型。...导航视图可帮助您快速找到对象和数据并不总是很容易从2D和3D视图。 导航视图设置四组:
INSTEAD_OF 用于对视图的DML触发,由于视图有可能是由多个表进行联结(join)而成,因而并非是所有的联结都是可更新的。但可以按照所需的方式执行更新,例如下面情况: CREATE OR REPLACE VIEW emp_view AS SELECT ...
它不需要对标记或视图模型本身进行任何修改,因此非常适合测试和快速制作原型。 用法: ko.watch(targetObjectOrFunction, options, evaluatorCallback, context); 或者var property = ko.observable().watch...
8.2.8 在视图类中实现现场支持 8.2.9 创建并测试OLE服务器 8.3 创建OLE包容器——例程Container 8.3.1 创建新的OLE包容器工程并测试 8.3.2 分析工程代码 8.3.2.1 CContainerApp 8.3.2.2 CContainerView 8.3.2.3 ...
对单个对象的重要行为进行建模:状态图 96 第九章 GRASP: 职责分配模式 97 导言 97 职责和方法 98 UML类图表示方法 98 职责和交互图 98 模式 99 GRASP: 职责分配中通用原则的模式 99 专家 99 问题: 99 解决方案: ...
Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。 IOC 和 AOP 控制反转模式(也称作...
简介 基于实体类为主导的代码生成器,可基于实体类快速的生成mybatis的相关配置。...可在开发中运行(增量运行 可随时修改,增加,删除类属性后继续运行,此时将同步数据库表结构并给出响应修复sql,自动增量
的定义和删除语句,登录、基表、视图、仝文索引的修改语句,对象的更名语句; 査询(含全文检索)、插入、删除、修改语句; 数据库安全语句。包括创建角色语句、删除角色语句,授权语句、回收权限语句,修改 登录口令语句...
抽取查询对象,简化查询,自动生成QueryModel自动驼峰装换生成VO对象,提供特定注解,@ View @AssociationView @CollectionView @MapView可在开发中运行(增量运行可随时修改,增加,删除类属性后继续运行,此时将...
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型...
对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。 (6)视图的应用场景 1.访问频繁,更新少的一组数据 2.需要对一些数据限制访问权限时 5、游标(cursor) (1)什么是游标 游标实际...
主界面分为SQL视图区,数据表数据对象察看区,存储过程视图区,数据管道视图和文本FTP视图主界面分为SQL视图区: 该视图主要执行SQL语句和自定义的快捷命令SLQ,具体功能察看该区说明。 数据表数据对象察看区 该...
在InitInstance()函数中,创建了一个单文档模板类或多文档模板类(CDocTemplate)的对象,并且在文档模板的构造函数中,系统定义的宏RUNTIME_CLASS创建了文档类对象,框架窗口类对象和视图类对象. 在MFC应用程序中有且仅有...
可设计和显示物理/逻辑视图,支持自动布局、平移、缩小放大等操作; 4. 导入数据库:导入数据库中的已有对象,即所谓的逆向工程(支持ORACLE、MYSQL、SQLSERVER和ODBC); 5. 生成数据库:可生成直接创建数据库的...
支持灵活尺寸的表格,能够自动对控件进行排列。 通过IME输入法支持东方语言(有Web版本的演示程序) 内建本地化系统。 内建的键盘和摇杆支持。 提供大量有用的辅助脚本,从改变按钮颜色到拖拽对象...
将坦克做成预制体,预制体实例化产生的新的游戏对象依然保持着与预制体的关联,也就是对预制体进行添加组件,修改属性组件等该改变。对游戏对象进行操作时,可以直接apply用于预制体上。添加脚本来实现坦克的前后...
⼆、数据定义( ⼆、数据定义(create、 、drop、 、alter) ) SQL 的数据定义功能:模式定义、表定义、视图定义、索引定义 SQL的数据定义语句: SQL标准不提供修改模式定义和修改视图定义的操作。 现代关系数据库...
重新编译失效的视图,存储过程,修改视图的定义语句等。方便的查看存储过程的代码,相互依赖关系,权限信息等保存为文本等。 回滚段, i. 简洁明了的online,offline状态,方便地online/offline操作 ii. 详细的...