java Iterator Iterable Collection AbstractCollection Map关系
Posted jugglee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Iterator Iterable Collection AbstractCollection Map关系相关的知识,希望对你有一定的参考价值。
java.lang
Interface Iterable<T> 实现该接口就可以使用for-each循环。
java.util
Interface Iterator<E> 用于遍历Collection,有hasNext(),next(),remove()方法。
java.util
Interface Collection<E> 整个Collection体系中的根接口,父类接口是Iterable。可以生成Iterator。
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
Collections和Arrays是工具类,所有方法都是静态的。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关系的主要内容,如果未能解决你的问题,请参考以下文章
java中自己实现一个可以用foreach循环的类 Iterable,Iterator