package J20250722;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * @author WanJl
 * @version 1.0
 * @title Demo01_Collection
 * @description Collection
 * @create 2025/7/22
 */
public class Demo01_Collection {
    public static void main(String[] args) {
        //多态
        //父类的引用指向子类的对象
        //向上转型
        //我们只能使用父类的或父子类共用的方法，不能使用子类特有的方法
        Collection c=new ArrayList();
        //添加元素
        c.add("张三");
        c.add(66);
        //从集合中一处指定的元素
        c.remove(66);
        //清空集合
        c.clear();
        //判断集合是否为空
        boolean empty = c.isEmpty();//如果是空的则返回true，否则返回false
        //获取集合的长度
        c.size();
        //判断集合中是否存在指定的元素
        boolean contains = c.contains("张三");    //存在则返回true，否则返回false


        c.add("张三");
        c.add("李四");
        c.add("王五");
        c.add("赵六");
        c.add("张启灵");

        //遍历集合
        //1、调用迭代器方法获取迭代器对象
        Iterator it = c.iterator();
        //再通过迭代器对象，调用方法，结合循环，实现遍历。
        //2、直接使用while循环
        //hasNext() 判断当前的位置的元素是否能被取出。   判断什么时候要结束循环
        //next() 获取当前位置的元素，然后将迭代器指向下一个元素位置。
        while (it.hasNext()){
            Object o = it.next();   //获取元素对象，从集合的最开始，获取一个有一个的元素，赋值给o对象
            //至于后面的操作，是输出，还是做运算，都可以.....
            System.out.println(o);
        }



        //换一种遍历集合的方式，foreach迭代器
        /*
            格式：
                for(元素类型 变量名 : 集合名){
                    //使用变量
                }
         */
        for(Object o: c){
            System.out.println(o);
        }



    }
}
