Java集合框架

Java 集合框架提供了一组接口和类,以实现各种数据结构和算法。

例如,集合框架的LinkedList类提供了双向链接列表数据结构的实现。


  • A:集合的由来

    • 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少,集合的本质就是一个动态数组。

  • B:数组和集合的区别

    • 区别1 :

      • 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值

      • 集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象

    • 区别2:

      • 数组长度是固定的,不能自动增长

      • 集合的长度的是可变的,可以根据元素的增加而增长

  • C:数组和集合什么时候用

    • 1,如果元素个数是固定的推荐用数组

    • 2,如果元素个数不是固定的推荐用集合


     集合框架的接口

        Java集合框架提供了各种接口。这些接口包括几种对集合执行不同操作的方法。

Java集合框架_第1张图片


Java Collection(集合) 接口

Collection接口是集合框架层次结构的根接口。

Java没有提供直接实现Collection接口,但是像提供其子接口List,Set和Queue的实现。

集合框架 与 Collection接口

人们经常会在集合框架和Collection接口之间感到困惑。

Collection接口是集合框架的根接口。 该框架还包括其他接口:Map和Iterator。 这些接口也可能具有子接口。


Collection 接口的子接口

如前所述,Collection接口包括由Java类实现的子接口。

Collection接口的所有方法也都存在于其子接口中。

下面三种接口是Collection接口的子接口:


1、List 接口

List接口是一个有序的集合,它允许我们像数组一样添加和删除元素。


2、Set 接口

Set接口允许我们将元素存储在不同的集合中,类似于数学中的集合。它不能有重复的元素。


3、Queue 接口

当我们要以先进先出的方式存储和访问元素时,可以使用Queue接口。


Java Map 接口

在Java中,Map接口允许元素以键/值对的形式存储。键是唯一的名称,可用于访问map中的特定元素。而且,每个键都有一个与之关联的值。


Java Iterator 接口

在Java中,Iterator迭代器接口提供了用于访问集合元素的方法。


为什么使用集合框架?

Java集合框架提供了可以直接使用的各种数据结构和算法。这有两个主要优点:

  • 我们不需要手动编写代码来实现这些数据结构和算法。

  • 随着集合框架的高度优化,我们的代码将更加高效。

此外,集合框架允许我们对特定类型的数据使用特定的数据结构。这里有一些实例,

  • 如果我们希望我们的数据是唯一的,那么我们可以使用集合框架提供的Set接口。

  • 要以键/值对的形式存储数据,可以使用Map接口。

  • ArrayList类提供可调整大小的数组的功能。


示例:ArrayList集合类

让我们以collections框架的ArrayList类为例。

本ArrayList类允许我们创建可调整大小的数组。该类实现List接口(Collection接口的子接口)。

//Collections框架在java.util包中定义
import java.util.ArrayList;

class Main {
    public static void main(String[] args){
        ArrayList animals = new ArrayList<>();
        //添加元素
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");

        System.out.println("ArrayList: " + animals);
    }
}
//输出
ArrayList: [Dog, Cat, Horse]

你可能感兴趣的:(Java集合框架,java)