1.Iterable接口和Iterator接口的区别 ?
1)所有的集合类都默认实现了Iterable的接口 。Iterable接口中的方法: iterator() ,foreach() 。
2)Iterator 也是一个接口,是由Iterable接口中的 iterator()返回。Iterator接口中的方法:hasNext()和next()。
2.ArrayList和LinkedList的区别?
1)ArrayList实现了长度可变的数组,在内存中分配连续的空间。 优点:遍历元素和随机访问元素的效率比较高 。缺点:添加和删除需要大量移动元素效率低,按照内容查询效率低
2)LinkedList采用链表存储方式。 优点:插入、删除元素时效率比较高 。遍历和随机访问元素效率低下 。
3.ArrayList 和Vector有什么区别?
1)ArrayList是线程不安全的,效率高;Vector是线程安全的,效率低
2)ArrayList在进行扩容的时候,是扩容1.5倍,而Vecotor进行扩容的时候扩容原来的两倍。
4.HashTable和HashMap的区别 ?
1)HashTable:线程安全,效率比较低;HashMap:线程不安全,效率比较高
2)HashMap中的key和value都可以为空,但是HashTable中的key和value都不可以为空