10-9唐兆文
Collections类
集合操作工具类
comparable接口 :强行实现他的每一个类的对象进行整体排序。这种排序称为类的自然排序,类的compareTo()方法被称为自然比较方法
此方法用于比较此对象与指定对象的顺序,如果对象小于,等于,大于指定对象,则返回负整数,零,正整数。
compare To()定义语法:
int compareTo(object obj);
泛型
泛型是jdk1.5的新特性,泛型的本质是参数化类型,也就是说操作的数据类型被指定为一个参数,使代码可以应用于多种类型,引入泛型的好处是安全简单,且所有的强制转换都是自动和隐式转换的,提高代码的重用率;
将对像的类型作为参数,指定到其他类上或者方法上,从而保证类型转换的安全性和隐定性。
LIstl list=new ArrayList();
表示创建一个ArrayList集合,但是规定该集合中存储的元素类型必须为String类型
使用泛型集合在创建集合对象时指定集合元素的类型,从集合中取出元素时无需进行强制转换,并且如果把非指定类型对象放入集合,会出现编译错误。
ArrrayList vector LinkedList区别
都是java.util.list接口的实现类
都是有序可排序可重复的集合可存null
都支持迭代器操作
区别:实现接口不同ArrayList和vector未实现queue接口deque接口不支持队列操作
LinkedList实现了queue接口和deque接口支持队列操作同时支持栈操作
内部实现不同:
ArrayList内部采用数组存储
vector内部采用数组存储元素
LinkedList内部采用单链存储元素
线程安全:
ArrayList非线程安全适用于单线程环境
vector线程安全适用于多线程环境
LinkedList非线程安全
Hashmap和Hashtable的区别
相同:都实现map接口用于存放键值对
内部都采用哈希表实现都采用哈希表实现都采用哈希算法计算键值对的存放位置
区别:Hashmap非线程安全,理论上效率高
Hashtable线性安全理论上效率低
内部实现不同
从jdk1.8Hashmap内部采用数组+链表+红黑树的方式存储
Hashmap支持null键null值
Hashtable不能放入空值
尽量不要使用可变对象作为他们的key值。
心得
知识没有机构体系化,听起来吃力。后期整理还需在复习
近期评论