Java集合

Java集合是用于存储对象的容器,它提供了一种结构化管理对象的方式。在 Java 中,集合按照其存储方式和性能特点可以分为 List(列表)、Set(集合)、Map(映射)三种大类。

  1. 列表(List):

    • ArrayList:基于数组实现,支持随机访问和插入删除操作。
    • LinkedList:基于链表实现,支持快速的插入删除操作,但随机访问效率较低。
    • Vector:类似 ArrayList,但支持同步访问,线程安全。
  2. 集合(Set):

    • HashSet:基于哈希表实现,不允许重复元素。
    • LinkedHashSet:基于哈希表和链表实现,保留插入顺序。
    • TreeSet:基于红黑树实现,元素按照自然顺序或者指定比较器排序。
  3. 映射(Map):

    • HashMap:基于哈希表实现,存储键值对,不允许重复键。
    • LinkedHashMap:基于哈希表和链表实现,保留插入顺序。
    • TreeMap:基于红黑树实现,按照键的自然顺序或者指定比较器排序。

泛型

泛型是一种编程语言特性,可以在编写代码时指定数据类型参数,以便在代码中实现数据类型的参数化和抽象化,使代码更加灵活、通用和可重用。通过泛型,可以在不同类型之间实现代码的通用性,提高代码的可维护性和重用性。

在使用泛型时,需要先定义泛型类或泛型方法,通过在类名或方法名后面使用尖括号<>,在尖括号里面指定类型参数。可以使用单个类型参数,也可以使用多个类型参数,并且可以为类型参数指定范围,以限定可接受的数据类型。

泛型在编译时会进行类型擦除,即在生成字节码时,会将泛型类型转换为实际数据类型,以保证兼容性和性能。因此在运行时无法获取泛型类型的信息,但在编译时候会进行类型检查,避免在运行时出现类型转换错误。

// 定义一个泛型类
public class Box<T> {
    private T data;

    public Box() {
    }

    public void setData(T data) {
        this.data = data;
    }

    public T getData() {
        return data;
    }

    public static void main(String[] args) {
        // 创建一个存储整数类型的Box对象
        Box<Integer> integerBox = new Box<>();
        
        // 设置数据
        integerBox.setData(123);
        
        // 获取数据
        int number = integerBox.getData();
        System.out.println("Integer value: " + number);
        
        // 创建一个存储字符串类型的Box对象
        Box<String> stringBox = new Box<>();
        
        // 设置数据
        stringBox.setData("Hello, Generics!");
        
        // 获取数据
        String message = stringBox.getData();
        System.out.println("String value: " + message);
    }
}

collection接口

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值