集合框架——Collection体系集合

37.集合框架

  • 集合的概念:对象的容器,定义了对多个对象进行操作的常用方法,可实现数组的功能。

  • 集合和数组的区别:

    1. 数组的长度是固定的,集合的长度不固定
    2. 数组可以存储基本数据类型和引用数据类型,集合只能存储引用数据类型
  • 所有的集合的包都在java.util包下,可以通过 java.util.* 进行导入

Collection体系集合

在这里插入图片描述

  • List接口特点有序有下标, 元素可重复
  • Set接口特点 无序无下标 ,元素不能重复

Collection父接口

集合层次结构中的根界面 。 集合表示一组被称为其元素的对象。 一些集合允许重复元素,而其他集合不允许。 有些被命令和其他无序。 JDK不提供此接口的任何直接实现:它提供了更具体的子接口的实现,如SetList 。 该界面通常用于传递集合,并在需要最大的通用性的情况下对其进行操作。

  • 特点:代表一组任意类型的对象,无序,无下标,不能重复
  • 方法:
    • boolean add(Object obj) // 添加一个对象
    • boolean addAll(Collection c) // 将一个集合中的所有对象添加到此集合中。
    • void clear() //清空此集合中的所有对象。
    • boolean contains(Object o) //检查次集合中是否包含o对象
    • boolean eauals(Object o) // 比较此集合是否与指定对象相等
    • boolean isEmpty() // 判断此集合是否为空
    • boolean remove(object o) // 在此集合中溢出o对象
    • int size() // 返回此集合中的元素个数
    • Object[] toArray() // 将此集合转换成数组
package com.collection.demo;

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

public class Demo1 {
    public static void main(String[] args) {
        /*
         * Collection接口的使用
         * 1.添加元素
         * 2.删除元素
         * 3.遍历元素
         * 4.判断
         * */
        Collection collection = new ArrayList();
//        * 1.添加元素
        collection.add("苹果");
        collection.add("西瓜");
        collection.add("菠萝");
        collection.add("哈密瓜");
        System.out.println("元素个数:" + collection.size());
        System.out.println(collection);
//        * 2.删除元素
        collection.remove("苹果");
        System.out.println(collection);
        System.out.println("删除之后个数:" + collection.size());
//        collection.clear();
//        * 3.遍历元素  重点
        /*
        * iterator()创建迭代器,
        * hasNext() 判断是否还有元素
        * next() 下一个元素
        * remove() 删除元素
        * */
        Iterator iterator = collection.iterator();
        while (iterator.hasNext()){
            Object item = iterator.next();
            System.out.print(item + "\t");
            /*注意!!!!  在迭代过程中不可以使用Collection的删除方法 ,会报ConcurrentModificationException异常
            * 如果要进行删除操作需要调用迭代器的remove方法
            * */
//            collection.remove(item);
            iterator.remove();
        }
        System.out.println("遍历之后全部都删除完了" + collection.size());
        System.out.println(collection.contains("西瓜"));  // 判断是否包含某个对象
        System.out.println(collection.isEmpty()); //判断是否为空
    }
}
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页