java集合之集合概念

一、集合的概念

  • 概念:对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。
  • 集合和数组的区别:
    • 数组长度固定,集合长度不固定
    • 数组可以存储基本类型和引用类型,集合只能存储引用类型

二、Collection体系集合

image-20220113101019287

三、Collection父接口

  • 特点:代表一组任意类型的对象
  • 方法:
    • add(Object obj)//添加一个对象
    • addAll(Collection c)//将一个集合中的所有对象添加到此集合中
    • clear()//清空集合中的所有对象
    • contains(Object o)//检查此集合中是否包含o对象
    • equals(Object o)//比较此集合是否与指定对象相等
    • isEmpty()//判断此集合是否为空
    • remove(Object o)//移除此集合中的o对象
    • size()//返回集合中的元素个数
    • toArray()//把集合转换为数组

四、Collection的使用

  • 大体用法包括添加元素、删除元素、遍历元素、判断

  • 迭代器是一种接口,方便进行遍历,collection继承了此接口,主要有三个方法,用迭代器迭代的过程中不能用collection中的remove方法来删除元素,可能会抛出异常ConcurrentModificationException(检测到对象的并发修改,但不允许这种修改时,抛出此异常)

image-20220115200224808

public class CollectionDemo01 {
    /**
     *添加元素、删除元素、遍历元素、判断
     * @param args
     */
    public static void main(String[] args) {
        Collection collection=new ArrayList();
        //添加元素
        collection.add("水果");
        collection.add(1);
        collection.add(5.2);
        collection.add(1);
        collection.add(1);
        System.out.println(collection.size());//5
        System.out.println(collection);//[水果, 1, 5.2, 1, 1]
        ArrayList arrayList = new ArrayList();
        arrayList.add(1);
        //删除元素
        collection.remove(1);//删除单个元素,如有多个,从左开始删除
        System.out.println(collection.size());//4
        System.out.println(collection);//[水果, 5.2, 1, 1]
        collection.removeAll(arrayList);//删除传入集合中包含的所有元素
        System.out.println(collection.size());//2
        System.out.println(collection);//[水果, 5.2]
        collection.clear();//清空
        System.out.println(collection.size());//0
        System.out.println(collection);//[]
        Collection collection2=new ArrayList();
        collection2.add("狗");
        collection2.add("猫");
        collection2.add("鸟");
        System.out.println("----------foreach遍历----------");
        //遍历元素方法1:foreach(不能用for,因为没有下标)
        for (Object obj : collection2) {
            System.out.println(obj);
        }
        System.out.println("----------跌代器Iterator遍历----------");
        //遍历元素方法1:foreach(不能用for,因为没有下标)
        Iterator iterator = collection2.iterator();
        while(iterator.hasNext()){
            Object next = iterator.next();
            System.out.println(next);
            iterator.remove();//遍历时删除,删除后游标自动缩
        }
        System.out.println(collection2.size());//0
        //判断无素
        Collection collection3=new ArrayList();
        collection3.add("狗");
        collection3.add("猫");
        collection3.add("鸟");
        System.out.println(collection3.contains("鸟"));//true
        System.out.println(collection3.contains("小"));//false
        System.out.println(collection3.isEmpty());//false
        collection3.clear();
        System.out.println(collection3.isEmpty());//true
    }
}
posted @ 2022-02-25 10:33  是韩信啊  阅读(89)  评论(0编辑  收藏  举报