八月十一上午笔记钊哥第一节课

本文深入解析Java集合框架的核心接口Collection,介绍其基本操作包括增删改查及遍历方法,并通过示例展示ArrayList的特性,如重复元素和null值的处理,以及集合的比较和过滤操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


/**
 * Collection
 *
 * collection 层次结构中的根接口
 * 它提供更具体的子接口如(set 和 list)实现
 *
 * 应该提供那些操做?
 *
 * 增 : boolean add(E e)  //true 添加成功  false 添加失败 如果集合不允许重复元素,插入重复元素就会返回false
 *     //大多数没法添加的情况,都要抛异常
 *     //Fast-Fail
 *
 * 删 :
 *
 * void clear() - 移出此collection中的所有元素
 * boolean remove 移除指定元素的单个实例
 * boolean removeAll 移除两个collection对象中公共的元素
 * boolean retainAll  保留两个collection对象中公共的元素
 *
 * 改 :
 *
 * 查 :
 * boolean contains 如果包含指定元素,则返回true
 *boolean isEmpty   如果不包含元素,返回true
 * int size() 返回此collection 中的元素数
 *
 * 遍历
 * Object[] toArray()
 * Iterator<E> iterator()
 *
 *
 * 自动装箱,自动拆箱
 * byte     Byte
 * short     Short
 * int       Integer
 * long
 * float
 * double
 * boolean
 * char
 */
public class CollectionMain {
    public static void main(String[] args) {
          Collection c = new ArrayList();
        Collection c2 = new ArrayList();

        boolean ret1 = c.add("hello");
        boolean ret2 = c.add("world");
        boolean ret3 = c.add("cskaoyan");
        c2.add("hello");
        c2.add("world");

        System.out.println(ret1);
        System.out.println(ret2);
        System.out.println(ret3);
        System.out.println(c);
        //ArrayList是否允许重复元素?     是允许的
        boolean ret4 = c.add("cskaoyan");
        //ArrayList是否允许增加空元素      是可以的
        boolean ret5 = c.add(null);

        System.out.println(ret4);
        System.out.println(ret5);
        System.out.println(c);

        //清空集合
//        c.clear();
//        System.out.println(c);


        //删除集合元素
        boolean world = c.remove("cskaoyan");
        System.out.println(world);
        System.out.println(c);

        boolean b = c.removeAll(c2);
        System.out.println(b);
        System.out.println(c);
        System.out.println(c2);

        //如果此collection 由于调用而发生更改,则返回true
//        boolean b1 = c.retainAll(c2);
//
//        System.out.println(b1);
//        System.out.println(c2);
//        System.out.println(c);
//       查 contains.
        boolean contains = c.contains(null);
        System.out.println("contains = "+contains);

        Collection c3 = new ArrayList();
        c3.add("a");
        c3.add("b");
        c3.add("hello");
        boolean b2 = c.containsAll(c2);
        System.out.println(b2);

        System.out.println(c);
        //c.clear();
        //public boolean isEmpty(){
        // return size == 0 ;
        // }
        //里面容纳的元素个数为0
        System.out.println("c.isempty()"+c.isEmpty());


        System.out.println("c.size()="+c.size());



        //遍历
//        //返回一个新的数组,跟原集合内部的数组并不是同一个
//        Object[] objects = c.toArray();
//        for (int i = 0; i <objects.length ; i++) {
//            String s = (String) objects[i];
//            System.out.println(s);
//            if ("world".equals(s)){
//                objects[i]="WORLD";
//            }
//
//        }
//        System.out.println(c);


    }
}
public class Collectiondemo2 {
    public static void main(String[] args) {
        Collection c = new ArrayList();

        c.add("a");
        c.add("b");
        c.add("c");
        //使用接口去接收迭代器
//        Iterator iterator = c.iterator();
        //
//        boolean b = iterator.hasNext();
//        System.out.println(b);
//       //返回迭代的下一个元素
//        Object next = iterator.next();
//        System.out.println(next);
//        //返回迭代的下一个元素
//        Object next1 = iterator.next();
//        System.out.println(next1);
//        //返回迭代的下一个元素
//        Object next2 = iterator.next();
//        System.out.println(next2);

    //while循环
//        while (iterator.hasNext()){
//            Object next = iterator.next();
//        System.out.println(next);
//        }
//    for循环
        for( Iterator iterator = c.iterator();iterator.hasNext();) {
            Object next = iterator.next();
            if ("a".equals(next)) {
                //remove  删除上一次迭代器next返回的元素
                //移除迭代器返回的最后一个元素 迭代器回去修改它内部的cursor的状态,从而保证他后续迭代过程的正确性

                 iterator.remove();
//集合的remove方法   c.remove(next);    //ConcurrentModificationException同时修改出错
                //使用集合的api去使得集合的结构发生变化(增加,删除,发生变化)。
                //在该迭代器的迭代过程中,如果使用别的迭代器去修改集合的结构,也会发生该异常
                System.out.println(next);
            }

        }System.out.println("删除之后的: "+ c);

        //remove  删除上一次迭代器next返回的元素

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值