1. 程式人生 > >java Iterator Iterable Collection AbstractCollection Map關系

java Iterator Iterable Collection AbstractCollection Map關系

mov entry 分享 val 循環 gif next 容量 ring

技術分享

java.lang

Interface Iterable<T> 實現該接口就可以使用for-each循環。

java.util

Interface Iterator<E> 用於遍歷Collection,有hasNext(),next(),remove()方法。

java.util

Interface Collection<E> 整個Collection體系中的根接口,父類接口是Iterable。可以生成Iterator。

java.util

Interface Map<K,V> Map並不是Collection,它只是可以生成Collection。Iterator是作用於Collection的,並不能直接用於Map。

java.util

public static Interface Map.Entry<K,V> 是 Map<K,V>的嵌套類,一個Map.Entrymap就是map裏的一個條目。 Map的entrySet()方法返回Set<Map.Entry<K,V>>,可以用於遍歷map。

1 //推薦,尤其是容量大時
2 for (Map.Entry<String, String> entry : map.entrySet()) {
3   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
4 }

java.util

Class AbstractCollection<E> 該抽象類給出類Collection接口最基本的實現,將實現Collection接口的工作最小化。AbstractList, AbstractQueue, AbstractSet, ArrayDeque一個道理。

java.util

CollectionsArrays是工具類,所有方法都是靜態的。Collections一個常用的方法

public static <T> boolean addAll(Collection<? super T> c, T... elements) 將elements添加到collection中,elements可以是一個一個的也可以是數組。

Arrays也有類似的方法 public static <T> List<T> asList(T... a)。

java Iterator Iterable Collection AbstractCollection Map關系