一、Set和List的区别
1)Set接口实例存储的是无序的,不重复的数据。List接口实例存储的是有序的,可以重复的元素。
2)Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变<实现类有HashSet,TreeSet>
3)List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,由于插入删除操作会引起其他元素位置改变,故而插入删除效率低<实现类有ArrayList,LinkedList,Vector>。
二、ArrayList和LinkedList的区别
1)ArrayList是List接口的一种实现,它是使用数组来实现的。
2)LinkedList是List接口的一种实现,它是使用链表来实现的。
3)ArrayList遍历和查找元素比较快。LinkedList遍历和查找元素比较慢。
4)ArrayList添加、删除元素比较慢。LinkedList添加、删除元素比较快。