java Collection集合

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

集合和数组既然都是容器,他们有什么区别呢?

 

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

数组中存储的是同一类型的元素,可以存储任意类型的数据。集合存储的都是引用数据类型。如果想存储基本类型数据需要存储对应的包装类型。

 

Collection存储元素特点是无序,可重复

有序:可以通过索引获取元素,就是有序

 

 

集合类的继承体系

Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set。其中,List的特点是元素有序、元素可重复Set的特点是元素不可重复。List接口的主要实现类有java.util.ArrayList和java.util.LinkedList,Set接口的主要实现类有java.util.HashSet和java.util.LinkedHashSet。

 

 

 

这张图只是我们常用的集合有这些

集合本身是一个工具,它存放在java.util包中。在Collection接口定义这单列集合框架中最最共性的内容。

Collection接口方法

Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。方法如下:

public boolean add(E e):把给定的对象天爱到当前结合中。

public Boolean addAll(Collection<? extends E>)将另一个集合元素添加到当前集合中。

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

public Boolean remove(E e):把给定的对象在当前集合中删除。

public Boolean contains(Object obj):判断当前集合中是否包含给定的对象。

public Boolean isEmpty():判断当前集合是否为空。

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

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

练习代码:

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

public class CollectionDemo1 {
    public static void main(String[] args){
        Collection c1 = new ArrayList();
        Collection c2 = new ArrayList();
        c1.add("张三");
        c1.add("张三");
        c2.add(33.5);
        c2.add("天气很好");
        c1.add("李四");
        c1.add("张三");
        c1.add(33);
        c1.addAll(c2);
        System.out.println("c1: " + c1);
        System.out.println("c2: " + c2);

        // 移除
        c1.remove(33);
        c1.removeAll(c2); // 移除另一个集合中所有的元素
        System.out.println("c11: " + c1);
        System.out.println(c1.contains("张三"));
        System.out.println(c1.isEmpty());

        // 个数
        System.out.println("c1.size(): " + c1.size());
        // 集合转换数据
        Object[] o1 = c1.toArray();
        for(int i = 0; i <o1.length; i++){
            System.out.println("o1==="+o1[i]);
        }

        // 清空
        c1.clear();
        System.out.println(c1);
        System.out.println(c1.isEmpty());
    }
}

结果:

 

posted @ 2022-04-26 08:05  夏晓旭  阅读(55)  评论(0编辑  收藏  举报