1.collection接口:
方法: ①:size():返回集合中的项数。
②:isEmpty:判断集合中是否为空
③:contains(Object):判断集合中是否包含某项
④:clear:
⑤:add(E):从集合中添加某项
⑥:remove(object):从集合中删除某项
⑦:iterator:遍历集合
2. Iterable接口:
2.1. ①:实现Iterable接口的的类可以拥有增强for循环(也就是foreach)
②:实现Iterable接口的集合类必须提供一个名为 Iterator() 的方法,该方法的返回值为Iterator
2. 2. 方法:
①:hasNext():是否存在下一项
②:next():获取下一项
③:remove():删除由next() 最新返回的项(注:此后不能在调用remove,直到next再一次调用以后)
2.3 collection与 Iterable的remove的区别:
①:性能:Iterator的remove() 性能更高
②:容错方面:Iterator遍历时不报错,内部对象个数和原来保持一致。
3 .List接口和set接口的区别:
List有顺序,可重复。set集合反之。
4.List集合下的ArrayList与LinkedList的区别:
ArrayList查询的时间快,所以查询用ArrayList,对数据库的数据进行变动 (增删改) 的用LinkedList
5.set集合下的Hashset,TreeSet,LinkedHashSet有什么区别:
①.需要速度快的集合,使用HashSet
②.需要集合有排序功能,使用TreeSet
③.需要按照插入的顺序存储集合,使用LinkedHashSet
6.Queue:
特点:先进先出
7.怎样将一个数组转成List,有什么方法?
①Arrays.asList(数组)
②List转数组,使用list.toArray()
8. ArrayList和Array的区别:
①.ArrayList是Array的复杂版本
②.存储的数据类型:Array只能存储相同数据类型的数据,而ArrayList可以存储不同数据类型的数据
③.长度的可变:Array的长度是固定的,而ArrayList的长度是可变的
9.HashMap、TreeMap、LinkedHashMap的区别?
①.在Map中插入、删除和定位元素,HashMap是最好的选择
②.需要集合有排序功能,使用TreeMap更好
③.需要按照插入的顺序存储集合,使用LinkedHashMap
10.HashMap与HashSet之间的区别
HashMap:①实现Map接口,②存储键值对,③添加元素用put,使用对象来计算hashcode,④使用键来获取对象比HashSet要快
HashSet:①实现Set接口,② 存储对象 ③调用add()向set中添加元素 ④HashSet使用成员对象计算hashcode ⑤HashSet较HashMap来说比较慢
11.List、Set、Map之间的区别
List:①:可重复 ②:可插入多个null ③:先进先出
Set: ①:不可重复 ②:只允许null ③:无序
Map:①:键值对存储,键必须唯一,但是值可以重复 ②:键只允许一个null,值可允许多个 ③:无序
为了更好的理解,有一张思维导图帮助理解其之间的关系: