Collection常用方法

Collection常用方法

  • 集合一旦发生变化,迭代器一定要重新获取
  • 如果没有重新获取,会报java.util.ConcurrentModificationException异常
  • 在迭代器迭代过程中,不能直接调用集合的remove方法,此时迭代器不会自动更新,
    会报java.util.ConcurrentModificationException异常
    要使用迭代器自身的remove方法
/*
1.boolean add(Object e) 添加元素
2.Integer size() 返回元素个数
3.boolean remove(Object e) 删除元素
4.boolean contains(Object e) 判断是否包含元素
5.void clear() 清空集合
6.boolean isEmpty() 判断集合是否为空
7.Object[] toArray() 将集合转换成数组
8.Iterator iterator() 获取迭代器对象
*/
public class CollectionTest {
    public static void main(String[] args) {
        /* Collection 的常用方法*/
        Collection c = new ArrayList();
        c.add(21);
        int size = c.size();
        System.out.println(size);//1
        boolean remove = c.remove(21);
        System.out.println(remove);//true
        boolean remove2 = c.remove(21);
        System.out.println(c.size());//0
        System.out.println(remove2);//false
        c.add("jqc");
        boolean jqc = c.contains("jqc");
        System.out.println(jqc);//true
        c.clear();
        boolean empty = c.isEmpty();
        System.out.println(empty);//true
        c.add("Java");
        c.add("13");
        Object[] objects = c.toArray();
        for (Object object : objects) {
            System.out.println(object);
        }
    }
}
public class CollectionTest2 {
    public static void main(String[] args) {
        //Iterator 迭代器对象,用来集合遍历
        Collection c = new ArrayList();
        c.add(1);
        c.add(2);
        c.add(3);
        c.add(4);
        c.add(5);
        c.add(5);
        Iterator it = c.iterator();
        while (it.hasNext()){
            Object next = it.next();
            //存进去是什么类型,取出的就是什么类型
            if(next instanceof Integer){
                //有序可重复
                //有序:存进去和取出来的顺序一致
                //可重复:元素可重复
                System.out.println("取出的是整数类型"+next);//1 2 3 4 5 5
            }
        }
        //增强for
        for(Object e : c){
            System.out.println(e);//1 2 3 4 5 5
        }

        Collection c2 = new HashSet();
        c2.add(10);
        c2.add(2);
        c2.add(30);
        c2.add(4);
        c2.add(5);
        c2.add(5);
        Iterator it2 = c2.iterator();
        while (it2.hasNext()){
            Object obj = it2.next();
            //无序:存进去和取出来的顺序不一定相同
            //不可重复:元素不能重复
            System.out.println(obj);//2 4 5 10 30
        }

    }
}

posted @ 2020-12-06 13:40  阿灿呀  阅读(352)  评论(0)    收藏  举报