首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

马战士课程笔记(续6)

2012-12-24 
马士兵课程笔记(续6)容器概念? ? Java API 所提供的用于在程序中存放对象的一系列类的实例。? ? 数组其实也

马士兵课程笔记(续6)
容器概念

? ? Java API 所提供的用于在程序中存放对象的一系列类的实例。

? ? 数组其实也是一种容器, 不过其他容器类都不用也不能指定大小。

?

容器API位于 java.util 包内;类图结构如下:

马战士课程笔记(续6)

Collection 接口 —— 定义了存取一个一个对象的方法,其子接口 Set 和 List 分别定义了存储方式Set 中的数据对象无序且不重复;List ... 有序且可重复;“重复”的定义:互相equals()。Map 接口 —— 定义了存储 "key - value 映射对"?的方法。

?

Collection<E> 接口方法

int size(); boolean isEmpty();

boolean contains(E element)//依据equals, add(...), remove(...);?void clear();?

boolean containsAll(Collection c), addAll(...), removeAll(...), retainAll(...)//保留交集;

E[] toArray(); Iterator<E>?iterator();

?

import java.util.*...Map m1 = new HashMap();m1.put("one", 1);    // 并不是存在 put(Object, int) 方法,而是自动打包机制将int转换成Integer传给put方法int i = (Integer) m1.get("one");    // Integer类型的对象可以自动解包成int,但是这里是以Object类型输出的,不强制转换成Integer型就不会启用自动解包机制...

?

泛型Generic(after JDK1.5)

起因:JDK1.4 以前类型不明确

装入集合的类型都被当成Object对待,从而失去自己的实际类型;从集合中取出时往往需要转型,效率低,容易出错。

解决办法:在定义集合的时候同时定义集合中对象的类型

格式Collection<E>,?Iterator<E>,?Comparator<T>?, Map<K, V>等凡是API中这样定义的接口、类;

使用:把指定的类型填进<>,见TestArgsWords.zip

优点:增强程序的可读性和稳定性

?

Summary —— 一一三六

?

一个图一个类 —— java.util.Collections三个知识点增强for (不好)GenericAuto-boxing / unboxing六个接口Collection<E>Iterator<E>Set<E>List<E>Map<K, V>Comparable<T>

热点排行