[javaSE笔记10]Collection集合框架 iterator迭代器 增强for循环foreach

集合和数组的区别 :

  1. 数组的长度固定, 集合的长度可变

  2. 数组中存储的是同一类型的元素, 集合存储的都是对象

Collection(单列集合)的框架

Collection下的方法

最顶层, 所有实现类都可以使用 :

方法 作用
boolean add(E e) 向集合中添加元素
boolean remove(E e) 删除集合中某个元素
void clear() 清空集合中所有元素
boolean isEmpty() 判断集合是否为空
int size() 获取集合的长度
Object[] toArray() 将集合转换成一个数组

Iterator迭代器

Iterator迭代器是一个接口, 无法直接使用, 需要获取实现类, 获取实现类的方式 :

Collectioni.iterator()返回在collection的元素上进行迭代的迭代器

使用步骤 :

  1. 获取迭代器的实现类对象
  2. 使用iterator接口中的方法hasNext判断有没有下一个元素
  3. 使用iterator接口中的放啊next取出下一个元素

e.g.

Collection<String> col = new ArrayList<>();
        col.add("jack");
        col.add("mike");
        col.add("amy");

        Iterator<String> it = col.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
//out : jack mike amy

( 迭代器的实现就像一个指针, 初始指在下标为-1的位置, 然后通过不断地next移动到集合末尾 )

增强for循环 --- for each

格式 :

for (集合/数组的数据类型 变量名 : 集合名/数组名) {}

e.g.

    public static void main(String[] args) {
        // 遍历数组
        int[] arr = {1,2,3,4,5};
        for (int i : arr) {
            System.out.println(i);
        } 

        // 遍历集合
        Collection<String> col = new ArrayList<>();
        col.add("jack");
        col.add("mike");
        col.add("amy");
        for (String a: col) {
            System.out.println(a);
        }
    }
posted @ 2020-06-25 22:32  roccoshi  阅读(125)  评论(0编辑  收藏  举报