Java 集合与流:数组不足时的解决方案
1. 数组的局限性
数组在管理一组事物时非常有用,例如在酒店管理程序中,可以用数组来跟踪所有房间,快速查找房间内的人数或空闲房间。然而,数组也存在一些严重的局限性:
- 固定大小 :数组的大小在创建时就已确定,无法动态扩展。例如,创建一个能存储 100 个客户姓名的数组:
String name[] = new String[100];
for (int i = 0; i < 100; i++) {
name[i] = new String();
}
当第 101 个客户出现时,程序会抛出 ArrayIndexOutOfBoundsException 异常。
- 空间浪费 :如果创建一个大数组,但实际使用的元素很少,会造成空间浪费。例如,创建一个能存储 1000 个姓名的数组,但实际只有 3 个客户,那么就浪费了 997 个元素的空间。
- 插入元素困难 :如果要在数组的前面插入一个元素,需要将后面的元素依次向后移动,这会浪费大量的处理时间和资源。
2. 集合类的救援
计算机科学家们一直在研究如何解决数组的这些问题,并开发了一些集合类。Java API 中有许多集合类,每个集合类都有存储大量值的方法,并且这些方法使用了一些巧妙的技巧。某些集合类可以尽可能高效地处理上述问题。例如,当需要处理客户姓名插入问题时,可以调用集合类的
超级会员免费看
订阅专栏 解锁全文
6565

被折叠的 条评论
为什么被折叠?



