Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
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();
}
HashMap<String , Double> map = new HashMap<String , Double>();
map.put("语文" , 80.0);
map.put("数学" , 89.0);
map.put("英语" , 78.2);
import java.util.*;
class HashMapDemo {
public static void main(String args[]) {
// Create a hash map
HashMap hm = new HashMap();
// Put elements to the map
hm.put("John Doe", new Double(3434.34));
hm.put("Tom Smith", new Double(123.22));
hm.put("Jane Baker", new Double(1378.00));
hm.put("Todd Hall", new Double(99.22));
hm.put("Ralph Smith", new Double(-19.08));
// Get a set of the entries
Set set = hm.entrySet();
// Get an iterator
Iterator i = set.iterator();
// Display elements
while(i.hasNext()) {
Map.Entry me = (Map.Entry)i.next();
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
System.out.println();
// Deposit 1000 into John Doe's account
double balance = ((Double)hm.get("John Doe")).doubleValue();
hm.put("John Doe", new Double(balance + 1000));
System.out.println("John Doe's new balance: " +
hm.get("John Doe"));
}
}
List<String> list = new ArrayList<String>();
list.add("luojiahui");
list.add("luojiafeng");
//方法1
Iterator it1 = list.iterator();
while(it1.hasNext()){
System.out.println(it1.next());
}
//方法2 怪异!
for(Iterator it2 = list.iterator();it2.hasNext();){
System.out.println(it2.next());
}
//方法3
for(String tmp:list){
System.out.println(tmp);
}
//方法4
for(int i = 0;i < list.size(); i ++){
System.out.println(list.get(i));
}
在Java中,容器类库部分主要包含两个基本的概念:Collection和Map。其中Collection是一个对象序列,用以“保存对象”。Map是一组成对的“键值对”对象,允许使用键来查找值。
首先讲一下Collection。在Java容器类库部分,Collection接口是序列的总接口。其下有3个功能各不相同的子接口:List、Set和Queue。它们的作用各不相同:List必须按照插入的顺序保存元素、Set不能有重复元素、Queue按照队列规则确定对象的产生顺序。下面分别介绍着三个子接口:
接下来讲一下Map。Map可以成为映射表或关联数组。它的基本思想是维护键-值关联。可以使用键来查找值。关于Map的基本实现,主要有如下几种:HashMap、TreeMap、LinkedHashMap、WeakHashMap、ConcurrentHashMap和IndentityHashMap。下面主要介绍一下前三种:
上面分别介绍了容器类库中的几个主要容器类,下面介绍一下如何选择使用容器类: