1. ArrayList集合去掉重复元素
集合方法contains,实现原理,其实是集合中存储的对象的equals完成
去掉集合中的重复元素,重写equals方法,比较成员变量
借用另一个集合来实现
2. Vector
JDK1.2版本实现List接口,底层也是可变数组,增长100%,线程安全运行效率低,从JDK1.2版本开始,此类被ArrayList取代
知道特点,具体的代码体现,参考ArrayList
3. LinkedList类
底层结构链表结构,记录对象地址的方式存储。查询速度慢,增删快,线程不安全集合,运行速度快。单独操作列表开头和结尾
XXXFirst XXXLast
JDK1.6后,出现了替代方法 offer-add peek-get poll-remove 使用的是get或者remoce,集合中的空的,出现异常,使用的是peek poll返回null,不会出现异常
模拟了数据结构,堆栈队列(面试题)
4. 泛型
JDK1.5版本后出现的安全机制
强制集合存储指定的数据类型
问题由运行时起,提前到了编译时期
泛型避免了数据类型的强制转换
使用一个类的时候,发现类的定义右边有<>使用泛型了
书写格式
集合类<数据类型> 变量 = new 集合类<数据类型>();
自定义泛型类,方法,接口,通配符,限定,作为了解
5. 增强for循环
凡是Iterable接口下的集合,都可以使用增强for进行迭代,包括数组
方便的遍历,比的功能不能实现
for(数据类型 变量 : 数组或者集合){
}
如果以后需要遍历优先选择增强for,如果需要操作集合或者数组中的元素,例如排序,查找,替换,删除等,使用传统的循环,或者迭代器
|
|