java collection接口
1、Collection 和 Collections的区别。
Collections是个java.util下的类,它包含有各种有关java集合操作的静态方法。
Collection是个java.util下的接口,它是各种java集合结构的父接口
2、List, Set, Map是否继承自Collection接口? List,Set是 Map不是
3、ArrayList和Vector的区别。
(1).同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
(2).数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
4、HashMap和Hashtable的区别
(1).历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
(2).同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
(3).值:只有HashMap可以让你将空值作为一个表的条目的key或value
Map、Set、Iterator迭代详解
Map接口定义了四种类型的方法,每个Map都包含这些方法。
equals(Object o)比较指定对象与此Map的等价性。
hashCode()返回此Map的哈希码。
Map定义了几个用于插放和删除元素的变换方法。
remove(Object key) 从Map中删除键和关联的值。
put(object key,Object value) 将指定值与指定键相关联。
clear() 从Map虽删除所有映射。
putAll(Map t) 将指定Map中的所有映射复制到此Map。
查看Map
迭代Map中的元素不存在直接了当的方法。假如要查询某个Map以了解其哪些元素满足特定查询或假如要迭代其所有元素,则您首先需要获取该
Map的“视图”。有三种可能的视图:所有键值对、所有键、所有值。前两个视图均返回Set对象,第三个视图返回Collection对象。就这两种
情况而言,问题到这里并没有结束,这是因为您无法直接迭代Collection对象或Set对象。要进行迭代,您必须获得一个Iterator对象。因此要
迭代Map的元素,必须进行如下编码:
Iterator keyValuePairs = aMap.entrySet().iterator();
Iterator keys=aMap.keySet().iterator();
Iterator values=aMap.values().iterator();
值得注意的是,这些对象实际上是基础Map的视图,而不是包含所有元素的副本。
使用Iterator对象,您可以遍历Map的元素,还可以删除Map中的元素。
EnterySet()返回Map中所包含映射的Set视图。Set中的每个元素都是一个Map.Entry对象,可以使用getKey()和getValue()方法访问后者的键元
素和值元素。
keySet()返回Map中所包含键的Set视图。删除Se
相关文档:
在Devoxx 2009(一年一度的Java社区大会,今年在11月16-20日举行)上,Sun宣布将在JDK 7中增加闭包功能。这个功能的添加将从FCM v0.5(First-Class Methods,第一类方法)的语法和语意开始着手。FCM与JCA原本一同被提交,然而Sun宣布JCA将不在JDK 7中考虑。
同时,Sun表示Java 7的发布时间将被推迟至2010年底。 ......
问题一:我声明了什么!
String s = "Hello world!";
许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。
这个语句声明的是一个指向对象的引用,名为“s&r ......
1. Java中除了static和final方法外,其他所有的方法都是运行时绑定的。private方法都被隐式指定为final的,因此final的方法不会在运行时绑定。当在派生类中重写基类中static、final、或private方法时,实质上是创建了一个新的方法。
2.在派生类中,对于基类中的pr ......
1. 空白(White Space)
7.1 空行(Blank Lines)
空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是使用两个空行:
·一个源文件的两个片段(section)之间
·类声明和接口声明之间
下列情况应该总是使用一个空行:
·两个方法之间
·方 ......
package com.allywll.core.exec.base;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent. ......