public abstract class MapIterator<K, V> {
/**
* 对Map中的每个元素的迭代操作
*
* @param k
* @param v
* @throws Exception
*/
protected abstract void each(K k, V v) throws Exception;
/**
* 遍历Map
*
* @param map
* @throws Exception
*/
public final void iterator(Map<K, V> map) throws Exception {
if (EmptyUtils.isNotEmpty(map)) {
Iterator<K> itr = map.keySet().iterator();
while (itr.hasNext()) {
K k = itr.next();
V v = map.get(k);
each(k, v);
}
}
}
}
public abstract class CollectionIterator<T> {
/**
* 对集合中每个元素的迭代处理
*
* @param t
* @throws Exception
*/
protected abstract void each(T t) throws Exception;
/**
* 遍历集合
*
* @param c
* @throws Exception
*/
public final void iterator(Collection<T> c) throws Exception {
if (EmptyUtils.isNotEmpty(c)) {
Iterator<T> itr = c.iterator();
while (itr.hasNext()) {
T t = itr.next();
each(t);
}
}
}
}