Collection接口中常用方法
add, contains, equals, hashCode, isEmpty, remove, clear, size, toArray
集合如何来统一其存储元素的类型
泛型技术 <元素类型>
Iterator迭代器的使用:使用Iterator迭代器实现集合元素的正向迭代.
1. 获取集合实现类的迭代器对象
2. 使用迭代器对象调用 hasNext() 判断是否有下一个元素
3,如果条件成立, 说明迭代器中有下一个元素, 如何获取 ??? 使用迭代器对象调用 next() 方法获取.
ListIterator 列表迭代器:
- 使用 ListIterator 迭代器实现了集合元素的迭代同是并对集合元素实现 `增删改` 的操作.
- 使用 ListIterator 迭代器实现了集合元素的逆向迭代, 注意获取列表迭代器时需设置光标的初始位置.
正向迭代 : hasNext() + next
逆向迭代 : hasPrevious + previous
注意点:
1,使用迭代器迭代集合的时候,每一个hasNext方法都对应一个next,不要一个hasNext方法对应多个next。
2,迭代器在迭代的同时, 不允许其它对象对集合中的元素进行 `增删改` 操作, 否则发生 `并发修改异常`.
集合里面的去重方法
只要在pojo类 中重写equals方法
哈希表如何确保 元素的唯一性?
哈希表通过hashcode和equals方法共同保证元素的唯一性。
HashSet
存储自定义对象保证不重复的实现原理分析
集合有哪些?
有三大集合:List Map Set
集合的特点:
1.List
特点:元素是有序的(怎样放进去就怎样显示),内容可以重复
Arraylist:数组结构,查询快,增删改慢。
LinkedList:链表结构,查询慢,增删改快。
Vector:增删查改都慢。
循环List列表的三种方式: 使用普通for循环,用get方法获取; 使用Iterator迭代器,使用next方法遍历;使用增强for循环,直接输出!
2.Set
特点:元素是无序的(但是它进行的排序),内容不可以重复
hashSet:可以添加空值
treeSet:不可以添加空值
3.Map
hashMap:可加空值(无序)
hashTable:不能加空值(无序)
treeMap:可以加空值(有序)
它们之间的关系: