集合框架小结

本文详细介绍了Java集合框架的各个组成部分,包括Collection、Map、Iterator等接口及其实现类的特点与应用场景,并深入探讨了Java泛型的概念、目的及如何提高程序的类型安全性和可维护性。

一.框架

1.最大的接口Collection、Map、Iterator、Enumeration

2.Collection:存放单值

   |- List:允许有重复内容,有序

       |- ArrayList:异步处理,新的操作类,非线程安全

       |- Vector:底层是数组数据结构。线程同步安全。因为效率低被ArrayList替代了。支持Enumeration输出

   |- Set:不允许有重复内容,无序,靠hashCoke()和equals()进行重复的严重

       |- HashSet:无序存放,底层数据结构是哈希表。是线程不安全。不同步。

|- LinkedHashSet类根据元素的哈希码进行存放,同时用链表记录元素加入的顺序。通过链表来存储对象,一般插入和删除效率较高,检索效率相对较低。

       |- TreeSet:有序存放,使用红黑树结构对加入的元素进行排序存放,通过TreeSet构造方法来获取TreeSet对象。

3.Map:存放键值对

   |- HashMap:新的类,异步处理,非线程安全,允许有null

   |- Hashtable:旧的类,同步处理,线程安全,不允许有null

        |- Properties:属性操作类

   |- TreeMap:有序排列,按key排序,根据Comparable指定排序规则

4.Iterator:

   |- 迭代输出,依靠Collection接口中的iterator方法输出,是新的输出标准

5.Enumeration:旧的输出标准

、泛型

应用背景:存入容器的对象在取出时需要强制转换类型,因为对象加入容器时都被转化为Object类型,而取出时又要转成实际类型。

Java中向下类型转换时容易出现ClassCastException的异常,这时应当尽量避免。有什么办法可以让装入容器中的数据保存自己的类型而不被转化为Object对象呢,这就需要用到JDK5.0支持的新功能——Java的泛型。

定义:泛型只是编译时的概念,是供编译器进行语法检查用的。所谓泛型,就是在定义(类型的定义,方法的定义,形式参数的定义,成员变量的定义等等)的时候,指定它为通用类型,也就是数据类型可以是任意的类型,如List<?> list = null,具体调用时,要将通用类型转换成指定的类型。泛型提高了大型程序的类型安全和可维护性。

目的:努力将运行时异常转换成编译时的问题,减少运行时异常数量(提高了编译器的能力)。

  • 解决模版编程的问题。

 

转载于:https://www.cnblogs.com/javaxiaodoufu/p/6675566.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值