我的理解:
泛型和集合两个概念!但是泛型大部分都是应用在集合中,集合就是数据结构,是底层存放数据的不同形式。
为什么要有容器,容器就是集合,学过数据结构就知道,容器有顺序表、链表、十字链表、(栈和队列,以及双端队列或者双向共享栈底的栈等等都是List的不同表现形式) ;树有二叉树,B+树B-树 、平衡二叉树,等等!映射Map、Set和JAVA一样,除了这些常见的容器还有很多容器不过都是基于最简单的容器来实现的。
泛型<>就是C++里面的STL模板,泛型有以下几点好处
1、解决集合的类型安全问题
2、当用到迭代器的时候 不需要对取出的元素强转
3、泛型定义在类上,实现了操作类元素类型的控制
泛型定义在方法上,解决了不同类型参数和返回类型的重载问题
泛型定义在接口上,如Map<K,T>好处大大滴。
泛型的特殊应用 在于泛型上限和下限,对于自定义类型和继承类型的类很有用!
但是泛型可以加上也可以不加上,集合好比是一和盆,什么样的集合好比是不同的盆,泛型就是规定盆里面究竟装什么,当然不规定也是可以的!但是用泛型写程序很爽的!加入A写了个类,类里面的方法只能处理String其他的我不管,B再来接着他写,当他写的时候万一传入Integer就是报错!定义了泛型的集合在把运行时的Exception转移到了编译时就处理!那个异常叫啥名我忘记了!
{:3_57:}
纯手打!我自己的见解!仅供参考!
|