JAVA Collection集合 Iterator迭代器

集合的概述:

集合是java中提供的一种容器,可以用来储存多个引用数据类型数据的容器。

集合和数组的区别:

数组的长度是固定的,集合的长度是可变的。

数组中存储的是同一种类型的元素,而集合可以存储任意类型数据。

集合存储的都是引用数据类型。如果想存储基本数据类型需要存储对应的包装类型。

Collection集合 常用功能

        public boolean add()把给定的对象添加到当当前集合中

public static void main(String[] args) {
        //创建带有String泛型的集合
        Collection<String> collection=new ArrayList<>();
        collection.add("李冰冰");
        collection.add("范冰冰");
        collection.add("王冰冰");
}

        public void clear()清空所有集合中的元素 

public static void main(String[] args) {
        //创建带有String泛型的集合
        Collection<String> collection=new ArrayList<>();
        collection.add("李冰冰");
        collection.add("范冰冰");
        collection.add("王冰冰");
        //清空集合中的所有元素
        collection.clear();
}

         public int size()返回集合中元素的个数

public static void main(String[] args) {
        //创建带有String泛型的集合
        Collection<String> collection=new ArrayList<>();
        collection.add("李冰冰");
        collection.add("范冰冰");
        collection.add("王冰冰");
        //返回集合中元素的个数
        System.out.println(collection.size())
}

          public boolean remove() 把给定的对象在当前集合中删除

public static void main(String[] args) {
        //创建带有String泛型的集合
        Collection<String> collection=new ArrayList<>();
        collection.add("李冰冰");
        collection.add("范冰冰");
        collection.add("王冰冰");
        //把给定的对象在当前集合中删除
        collection.remove("范冰冰");
}

        public boolean contains()判断当前集合中是否包含给定的对象

public static void main(String[] args) {
        //创建带有String泛型的集合
        Collection<String> collection=new ArrayList<>();
        collection.add("李冰冰");
        collection.add("范冰冰");
        collection.add("王冰冰");
        //判断集合中是否包含王冰冰这个元素
        boolean b=collection.contains("王冰冰");
        //如果包含返回true,不包含返回false
        System.out.println(b);
}

        public boolean isEmpty()判断当前集合是否为空

 

public static void main(String[] args) {
        //创建带有String泛型的集合
        Collection<String> collection=new ArrayList<>();
        collection.add("李冰冰");
        collection.add("范冰冰");
        collection.add("王冰冰");
        //判断该集合是否还有元素
        boolean f=collcetion.isEmpty();
        //如果有返回false,没有返回true
        System.out.println(f);
}

        public Obiect [  ] toArray() 把集合中的元素,存储到数组中

public static void main(String[] args) {
        //创建带有String泛型的集合
        Collection<String> collection=new ArrayList<>();
        collection.add("李冰冰");
        collection.add("范冰冰");
        collection.add("王冰冰");
        //把集合中的元素存储到一个数组中
        Object [] o=collection.toArray();
        //打印输出
        System.out.printiln(o);
}

Iterartor迭代器 

         

public static void main(String[] args) {
        //创建带有String泛型的集合
        Collection<String> collection=new ArrayList<>();
        collection.add("李冰冰");
        collection.add("范冰冰");
        collection.add("王冰冰");
        //获取该集合对应的迭代器对象
    Iterator<String> it=col.iterator();
        //如果有,就取出来
        while(it.hasNext()){
            String s=it.next();
            System.out.println(s)
    }
}       

迭代器常见问题

        1.在进行集合获取元素时,如果集合中已经没有元素可以迭代了,还据徐使用迭代器的next方法,将会抛出 java.util.NoSuchElementException 没有集合元素异常

解决办法:如果还需要重新迭代,那么就重新获取一个新的迭代器对象进行操作 

        2.在进行集合元素迭代时,如果添加或移除集合中的元素,将无法继续迭代,将会抛出 ConcurrentModificationException并发修改异常

增加for循环

         增强for循环(也称for each循环)是JDK1.5以后出来的⼀个⾼级 for循环,专⻔⽤来遍历数组和集合的。它的内部原理其实是 个Iterator迭代器,所以在遍历的过程中,不能对集合中的元 素进⾏增删操作。

        它用于遍历Collection和数组。通常只进行遍历元素,不要在遍历过程中对集合元素进行增删操作。

public static void main(String[] args) {
        //创建带有String泛型的集合
        Collection<String> collection=new ArrayList<>();
        collection.add("李冰冰");
        collection.add("范冰冰");
        collection.add("王冰冰");
        //曾庆for循环遍历集合
        for(String str : collection){
        System.out.println("取出来的元素"+str)
    }
}
public static void main(String[] args) {
        //创建一个字符串数组
        String [] arr=new String [4];
        arr[0] ="范冰冰";
        arr[1] ="李冰冰";
        arr[2] ="赵薇";
        arr[3] ="林心如";
        //增强for遍历
        for(String str : arr){
        System.out.println("元素:"+str);
    }
}

 

 

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值