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。

 

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接口的工作最小化。AbstractListAbstractQueueAbstractSetArrayDeque一个道理。

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关系的主要内容,如果未能解决你的问题,请参考以下文章

Java迭代:Iterator和Iterable接口

JDK源码Iterator与Iterable的实现与区别

java中自己实现一个可以用foreach循环的类 Iterable,Iterator

在同一个类中实现 Java Iterator 和 Iterable?

Java中的Iterable与Iterator详解

Java中的Iterable与Iterator详解