在Collection接口中声明了适用于java集合(只包含Set和List)的通用方法:
方法 | 描述 |
Boolean add(Object o) | 向集合中添加一个对象的引用 |
Void clear() | 删除集合中的所有对象,即不再持有这些对象的引用 |
Boolean contains(Object o) | 判断在集合中是否持有特定对象的引用 |
Boolean isEmpty() | 判断集合是否为空 |
Iterator iterator() | 返回一个Iterator对象,可用它来遍历集合中的元素 |
Boolean remove(Object o) | 从集合中删除一个对象的引用 |
Int size() | 返回集合中元素的数目 |
Object[] toArray() | 返回一个数组,该数组包含集合中的所有元素 |
Set接口和list接口都继承了Collection接口,而map接口没有继承Collection接口,因此可以对set对象和list对象调用以上方法,但是不能对Map对象调用以上方法。
Collection接口的iterator()和toArray()方法都用于获取集合中的所有元素,前者返回一个Iterator对象,后者放回一个包含集合中所有元素的数组。
Iterator接口中声明了如下方法:
l hasNext() 判断集合中的元素是否遍历完毕,如果没有,就返回true
l next() 返回下一个元素
l remove() 从集合中删除一个由next()方法返回的元素
package org.shw.collection;
import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set;
public class Visitor {
public static void print(Collection<? extends Object> c){ Iterator<? extends Object> it=c.iterator(); while(it.hasNext()){ Object element = it.next(); System.out.println(element); } }
public static void main(String[] args) { Set<String> set = new HashSet<String>(); set.add("Tom"); set.add("Mary"); set.add("Jack"); print(set);
List<String> list = new ArrayList<String>(); list.add("Linda"); list.add("Mary"); list.add("Rose"); print(list);
Map<String,String> map = new HashMap<String,String>(); map.put("M", "男"); map.put("F", "女"); print(map.entrySet());
}
}
|
entrySet Set<Map.Entry<K,V>> entrySet():
返回此映射中包含的映射关系的 Set 视图。该 set 受映射支持,所以对映射的更改可在此 set 中反映出来,反之亦然。如果对该 set 进行迭代的同时修改了映射(通过迭代器自己的 remove 操作,或者通过对迭代器返回的映射项执行 setValue 操作除外),则迭代结果是不确定的。set 支持元素移除,通过 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可从映射中移除相应的映射关系。它不支持 add 或 addAll 操作。
返回:
此映射中包含的映射关系的 set 视图