集合的遍历

一般集合的遍历(输出)基本上不会采用将其变为对象数组的方式,而采用以下三种:

Iterator、ListIterator和foreach(此方法jdk1.5后增加,使用人群不多)

(1)Iterator迭代输出

     Iterator本身是一个专门用于输出的操作接口,其接口定义了三种方法:

方法摘要
 booleanhasNext()
          如果仍有元素可以迭代,则返回 true
 Enext()
          返回迭代的下一个元素。
 voidremove()
          从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。

(2)ListIterato双向迭代输

    列表迭代器,允许程序员按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。ListIterator 没有当前元素;它的光标位置 始终位于调用 previous() 所返回的元素和调用 next() 所返回的元素之间。长度为 n 的列表的迭代器有 n+1 个可能的指针位置。

   Iterator接口的主要功能是完成从前向后的输出,如果想要完成双向输出(从前向后、从后向前)ListIterato接口可实现此功能,ListIterato是 Iterator的子接口,处理本身继承方法外,还有两个重要方法:

booleanhasPrevious()
          如果以逆向遍历列表,列表迭代器有多个元素,则返回 true
 Eprevious()
          返回列表中的前一个元素。

注意:如果需要由后向前的输出,需要先由前向后。但collection接口并没有为ListIterato接口实例化的操作,而在List接口中存在此方法

public ListIterator<E> listIterator()

(3)Map集合的遍历

方法摘要
 voidclear()
          从此映射中移除所有映射关系(可选操作)。
 booleancontainsKey(Object key)
          如果此映射包含指定键的映射关系,则返回 true
 booleancontainsValue(Object value)
          如果此映射将一个或多个键映射到指定值,则返回 true
 Set<Map.Entry<K,V>>entrySet()
          返回此映射中包含的映射关系的 Set 视图。
 booleanequals(Object o)
          比较指定的对象与此映射是否相等。
 Vget(Object key)
          返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
 inthashCode()
          返回此映射的哈希码值。
 booleanisEmpty()
          如果此映射未包含键-值映射关系,则返回 true
 Set<K>keySet()
          返回此映射中包含的键的 Set 视图。
 Vput(K key, V value)
          将指定的值与此映射中的指定键关联(可选操作)。
 voidputAll(Map<? extends K,? extends V> m)
          从指定映射中将所有映射关系复制到此映射中(可选操作)。
 Vremove(Object key)
          如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
 intsize()
          返回此映射中的键-值映射关系数。
 Collection<V>values()
          返回此映射中包含的值的 Collection 视图。

根据Map的keyset()方法来获取key的set集合,然后遍历map取得value值

使用Map.Entry来获取Map中所有的元素,并用此接口实现键-值的分离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值