Collection

本文深入讲解Java中的集合框架,包括Collection及其子接口Set和List的不同特性。探讨了HashSet、LinkedHashSet、ArrayList和LinkedList等集合的使用场景,以及Collection接口提供的核心功能如添加、删除、查询等API,并演示了三种遍历集合的方法。

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

集合的概述

集合:是一个大小可变的容器。
集合与数组的区别:
数组的长度是定义出来就固定的,数组的存储的数据类型也固定了。
集合的大小可变,可以存储任意类型的数据。
容器中的数据也称为元素。
开发中:集合用的更多。原因是集合的大小可变,开发中的数据通常是变化的。

Java中集合的代表是Collection。

Java中集合的体系结构:
在这里插入图片描述

Collection体系集合的特点:

Set系列集合的特点:添加的元素是无序,不重复的,无索引。
     -- HashSet:添加的元素是无序不重复的。
     -- LinkedHashSet:添加的元素是有序不重复的。
List系列集合的特点: 添加的元素是有序,可重复,有索引。
     -- ArrayList: 添加的元素是有序,可重复,有索引。
     -- LinkedList: 添加的元素是有序,可重复,有索引。

目标:讲解Collection集合的功能。

Collection接口是全部集合的父类。Collection集合的功能是所有集合通用的。

常用API

 -  public boolean add(E e)`:  把给定的对象添加到当前集合中 。
 - `public void clear()` :清空集合中所有的元素。
 - `public boolean remove(E e)`: 把给定的对象在当前集合中删除。
 - `public boolean contains(Object obj)`: 判断当前集合中是否包含给定的对象。
 - `public boolean isEmpty()`: 判断当前集合是否为空。
 - `public int size()`: 返回集合中元素的个数。
 - `public Object[] toArray()`: 把集合中的元素,存储到数组中

Collection集合的遍历有三种的:

  (1)foreach遍历是可以的。
        for(被遍历集合或者数组中元素的类型  变量 :  被遍历集合或者数组){

        }
public class CollectionDemo01 {
    public static void main(String[] args) {
        // 1.foreac遍历集合
        Collection<String> c = new ArrayList<>();
        c.add("JavaEE");
        c.add("Oracle");
        c.add("Mysql");
        c.add("Redis");

        for(String s : c){
            System.out.println(s);
        }


    }
}

  (2)迭代器
public class CollectionDemo02 {
    public static void main(String[] args) {
        // (2)迭代器遍历集合(集合特有的)
        Collection<String> c = new ArrayList<>();
        c.add("JavaEE");
        c.add("Oracle");
        c.add("Mysql");
        c.add("Redis");
        System.out.println(c);
        //      [JavaEE,  Oracle,  Mysql,  Redis]
        //  it
        // 1.获取当前集合的迭代器。
        Iterator<String> it = c.iterator();
        /**
        // 2.开始去迭代元素
        System.out.println(it.next());
        System.out.println(it.next());
        System.out.println(it.next());
        System.out.println(it.next());
        // NoSuchElementException :没有这个元素异常,只能走4步
        System.out.println(it.next()); */

        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
}
  (3)JDK 1.8之后的新技术
public class CollectionDemo03 {
    public static void main(String[] args) {
        // (2)迭代器遍历集合(集合特有的)
        Collection<String> c = new ArrayList<>();
        c.add("JavaEE");
        c.add("Oracle");
        c.add("Mysql");
        c.add("Redis");
        System.out.println(c);

        // JDK 1.8之后的新技术(暂时了解): Lambda表达式遍历集合。
        c.forEach( s -> {
            System.out.println(s);
        });

        System.out.println("-------------");
        c.forEach( s -> System.out.println(s)  );

        System.out.println("-------------");
        c.forEach(System.out::println );




    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值