Java里面的数组和集合

一、数组和集合是两种数据结构

        在Java中,数组(Array)和集合(Collection)是两种核心数据结构,它们在存储方式、灵活性和功能上有显著差异。数组与集合可相互转换:使用Arrays.asList(array)将数组转为List,或通过list.toArray()将集合转为数组。

二、两者的区别

特性数组集合
长度固定,创建时指定,无法动态调整(如 int[] arr = new int[5]动态,可自动扩容或缩容(如 ArrayList 底层通过数组拷贝实现扩容)
存储类型支持基本类型(int、char等)和对象仅存储对象引用(需用包装类存储基本类型,如 Integer
类型安全编译时不检查元素类型,可能引发 ClassCastException通过泛型(Generics)保证类型安全(如 List<String> 强制元素类型)
内存分配连续内存空间,访问元素通过索引直接定位(O(1) 时间复杂度)通常基于哈希表或链表,访问元素需遍历(如 LinkedList 遍历时间为 O(n))
功能方法仅支持基础操作(赋值、索引访问),复杂操作需借助 Arrays 工具类提供丰富方法(添加、删除、排序、去重等),如 ArrayList.add()
元素唯一性允许重复元素部分集合(如 Set)强制唯一性,List 允许重复

三、在java中的使用

1.数组:

在 Java 中,Arrays 是一个 专门用于操作数组的工具类,它提供了大量静态方法,用于简化数组的常见操作(如排序、搜索、比较、转换等)。

  • 核心作用:为原生数组(如 String[]int[])提供工具方法,弥补数组本身功能单一的不足
  • 设计特点:所有方法均为 static,可直接通过类名调用,无需实例化

2.集合:

在 Java 中,Collections是一个用于存储、操作和管理对象集合的统一架构,它提供了一组高性能的数据结构和算法,帮助开发者高效处理数据。

四、总结

工具类核心作用典型场景
Arrays操作原生数组数组排序、搜索、流转换
Collections操作集合框架(如 List/Set)集合排序、洗牌、不可变视图
Stream函数式数据处理链式操作、并行计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值