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,
相关文档:
本文主要参考文章:
ubuntu下Java环境配置
基本上是安本文所讲的进行java配置,相信能配置成功的。
为什么要选择默认的java解释器呢?因为只能有好几个指向java的解释器,因此要选择 /usr/lib/jvm/java-6-sun/jre/bin/java为
默认的解释器,但我不知道如果不选择默认的java浏览器的话会怎么样。
在超级用户root下建立 ......
Java程序设计语言使用值调用。也就是说。方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何参数变量的内容。
下面说明下这种情况。假定一个方法试图将一个参数值增加至3倍:
public static void func(double x){
x=3*x
}
调用这个方法
doub ......
serialVersionUID作用:
序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。
有两种生成方式:
一个是默认的1L,比如:private static final long serialVersionUID = 1L;
一个是根据类名、接口名、成员方 ......
java Map 遍历速度最优解
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
效率高,以后一定要使用此种方式!
第二种:
Map map = ......