JAVA Collection

1 Collection接口

1.1 集合前言

Java语言的java.util包中提供了一些集合类,这些集合类又称之为容器

提到容器不难想到数组,集合类与数组最主要的不同之处是,数组的长度是固定的,集合的长度是可变的,而数组的访问方式比较单一,插入/删除等操作比较繁琐,而集合的访问方式比较灵活


1.2 集合概念

集合的英文名称是Collection,是用来存放对象的数据结构,而且长度可变,可以存放不同类型的对象,并且还提供了一组操作成批对象的方法.Collection接口层次结构 中的根接口,接口不能直接使用,但是该接口提供了添加元素/删除元素/管理元素的父接口公共方法.

由于List接口与Set接口都继承了Collection接口,因此这些方法对于List集合和Set集合是通用的.

1.3 集合的继承结构

Collection接口

List 接口【数据有下标,有序,可重复】

ArrayList子类

LinkedList子类

Set 接口【数据无下标,无序,不可重复】

HashSet子类

Map 接口【键值对的方式存数据】

HashMap子类


package cn.tedu.collection;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collection;

import java.util.Iterator;

/**本类用于测试Collection接口*/

public class TestCollection {

    public static void main(String[] args) {

        //1.创建Collection相关的对象

        //Collection c = new Collection();//报错,因为Collection是接口

        //是泛型,用来约束集合中的数据类型,不能是基本类型,必须是引用类型

        Collection c = new ArrayList<>();

        //2.1测试集合中的常用方法--单个集合间的操作

        c.add(100);//向集合中添加元素 Ctrl+D快速向下复制

        c.add(200);//向集合中添加元素

        c.add(300);//向集合中添加元素

        c.add(400);//向集合中添加元素

        c.add(500);//向集合中添加元素

        System.out.println(c);//直接打印集合,查看集合中的元素

//        c.clear();//清空当前集合中的所有元素

//        System.out.println(c);

        System.out.println(c.hashCode());//获取集合对象的哈希码值

        System.out.println(c.toString());//打印集合的具体元素

        System.out.println(c.equals(200));//false,集合对象c与值200是否相等

        System.out.println(c.contains(200));//true,c集合中是否包含指定元素200

        System.out.println(c.isEmpty());//false,判断集合是否为空

        System.out.println(c.remove(100));//true,移除集合中的指定元素,成功返回true

        System.out.println(c);//[200, 300, 400, 500]

        System.out.println(c.size());//4,返回集合的元素个数

        Object[] array = c.toArray();//将指定的集合转为数组Object[]

        System.out.println(Arrays.toString(array));//[200, 300, 400, 500]

        //2.2测试多个集合间的操作

        Collection  c2 = new ArrayList<>();//创建第2个集合

        c2.add(2);//向c2集合添加元素

        c2.add(4);//向c2集合添加元素

        c2.add(5);//向c2集合添加元素

        System.out.println(c2);//查看c2集合中的元素

        c.addAll(c2);//把c2集合的所有元素添加到c集合当中

        System.out.println(c);//c2集合的所有元素追加到了c集合末尾

        System.out.println(c2);//c2集合本身没有任何改变

        //当前集合c是否包含指定集合c2中的所有元素

        System.out.println(c.containsAll(c2));

        System.out.println(c.contains(200));//c是否包含单个指定元素200

        System.out.println(c.removeAll(c2));//删除c集合中属于c2集合的所有元素

        System.out.println(c);

        System.out.println(c.add(5));

        System.out.println(c);

        System.out.println(c.retainAll(c2));//取c集合与c2集合的交集(公共元素)

        System.out.println(c);//[5]

        //3.迭代集合/遍历集合

        /**迭代步骤:

        * 1.获取集合的迭代器 c.iterator();

        * 2.判断集合中是否有下一个可迭代的元素 it.hasNext()

        * 3.获取当前迭代到的元素 it.next()*/

        Iterator it = c.iterator();

        while(it.hasNext()){

            Integer num = it.next();

            System.out.println(num);

        }

    }

}


你可能感兴趣的:(JAVA Collection)