一。List:它保证维护元素特定的顺序
1.ArrayList优点:由数组实现的List。允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。
所以如果需要比较多的数据插入和移除的时候,不建议使用arraylist。如果基本没有太多插入和移除,更多的是查询,那么用arraylist是不错选择。
ListIterator只应该用来由后向前遍历ArrayList,而不是用来插入和移除元素。因为那比LinkedList开销要大很多。
2.LinkedList : 对顺序访问进行了优化,向List中间插入与删除的开销并不大。随机访问则相对较慢。
如果需要的list中操作比较多的插入和删除,用LinkedList,但是随机访问会比较慢。
二,set:不保存重复的元素,存入Set的每个元素都必须是唯一的,Set接口不保证维护元素的次序。