Java Collection FramWork
jdk
的集合框架的主体结构:
接口
简述
实现
操作特性
成员要求
Set
成员不能重复
HashSet
外部无序地遍历成员。
成员可为任意Object子类的对象,但如
果覆盖了equals方法,同时注意修改hashCode方法。
TreeSet
外部有序地遍历成员;附加实现了
SortedSet, 支持子集等要求顺序的操作
成员要求实现caparable接口,或者
使用
Comparator构造TreeSet。成员一般为同
一类型。
LinkedHashSet
外部按成员的插入顺序遍历成员
成员与HashSet成员类似
List
提供基于索引的对成
员的随机访问
ArrayList
提供快速的基于索引的成员访问,对尾部成员
的增加和删除支持较好
成员可为任意Object子类的对象
LinkedList
对列表中任何位置的成员的增加和删除支持较
好,但对基于索引的成员访问支持性能较差
成员可为任意Object子类的对象
Map
保存键值对成员,基
于键找值操作,compareTo或compare方法对键排序
HashMap
能满足用户对Map的通用需求
键成员可为任意Object子类的对象,但
如果覆盖了equals方法,同时注意修改hashCode方法。
TreeMap
支持对键有序地遍历,使用时建议先用
HashMap增加和删除成员,最后从HashMap生成TreeMap;附加实现了SortedMap接口,支持子Map等要求顺序的操作
键成员要求实现caparable接口,或
者使用Comparator构造TreeMap。键成员一般为同一类型。
LinkedHashMap
保留键的插入顺序,用equals
方法检查键和值的相等性
成员可为任意Object子类的对象,但如
果覆盖了equals方法,同时注意修改hashCode方法。
IdentityHashMap
使用== 来检查键和值的相等性。
成员使用的是严格相等
WeakHashMap
其行为依赖于垃圾回收线程,没有绝对理由则
少用
Java Collections
Framework成员主要包括两种类型,即:Collection和Map类型。
在Java中提供了Collection和Map接口。其中List和Set继承了Collection接口;同时用Vector、ArrayList、
LinkedList三个类实现List接口,HashSet、TreeSet实现Set接口。直接有HashTable、HashMap、
TreeMap实现Map接口。Collection----一组独立的元素,通常这些元素都服从某种规则。List必须保持元
素特定的顺序,而Set不能有重复元素。 Map----一组成对的“键值对”对象,即其元素是成对的对象,最典型的应用就是数据字典,并且还有其它广泛
的应用。另外,Map可以返回其所有键组成的Set和其所有值组成的Collection,
相关文档:
这个其实是在web.xml文件中配置mime文件类型就可以了,配置的示例:
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xls</extension>
<m ......
Java虚拟机的深入研究
作者:刘学超
1 Java技术与Java虚拟机
说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:
图1 Java四个方面的关系
运行期环境代表 ......
http://www.javaalmanac.com - Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.
http://www.onjava.com - O'Reilly的Java网站. 每周都有新文章.
http://java.sun.com - 官方的Java开发者网站 - 每周都有新文章发表.
http://www.developer.com/java - 由Gamelan.com 维 ......
一、基本概念
多态性:发送消息给某个对象,让该对象自行决定响应何种行为。
通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。
java 的这种机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义 ......
Java面试题(答案)
第一,谈谈final, finally, finalize的差别。
final?修饰符(关键字)如果一个类被声明为final,意味着他不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,能确保他们在使用中不被改动。被声明为final的变 ......