java集合类(2)

首先来看看遍历集合元素经常用到的for each增强型for循环:

for eanch 循环
可以用来依次处理数组(集合)中的每个元素,而不必为指定下标而分心。
增强的for循环的语句格式为:
for(variable:collection)statement
定义一个变量用于暂存集合中的每一个元素,并执行相应的语句;
collection这一集合表达式必须为数组或实现了Iterable接口的集合类对象(例如ArrayList)

集合元素

collection接口的子接口:List接口(ArrayList、LinkedList)、Set接口(HashSet、TreeSet)
Map接口下实现类:HashMap、TreeMap

List集合可以包含重复对象。
用indexOf(Object obj)获取重复对象第一次出现的索引位置,
用lastIndexOf(Object obj)获取重复对象最后一次出现的索引位置。
若该对象在List集合中只有一个,即不存在重复元素,则lastIndexOf()和indexOf()两个方法获得的索引位置相同。

Set集合中不允许包含重复对象,且Set集合中的对象是无序的。
可以用Set集合中的addAll(Collection coll)方法,将Collection集合添加到Set集合中并出掉重复值。
isEmpty() ——如果set不包含元素,则返回true
iterator()—— 返回此set中的元素上进行迭代的迭代器
addAll(Collection coll)—— 将参数集合中所有元素添加到set集合的尾部

Map不能包含重复元素,且一个键最多对应一个值(即key-value一一对应)
HashMap允许使用null值和null键,但必须保证键的唯一性
TreeMap不允许使用null键

迭代器(便于遍历集合元素)

利用Iterator接口创建迭代器,方便遍历集合元素。Iterator位于java.util包下,有三个方法:
hasNext() ——如果仍有元素可以迭代,则返回true
next() ——返回迭代的下一个元素
remove()—— 从迭代器指向的collection中移除迭代器返回的最后一个元素

猜你喜欢

转载自blog.csdn.net/qq_34777858/article/details/80844467