List 是可重复且有序的集合,Set 是不可重复且无序的集合,这两个接口都继承了 Collection 父接口。 List 的实现类有 ArrayList,Vector 和 LinkedList等。 ArrayList和Vector底层由Object动态数组实现,但是Vector是线程安全的,效率比ArrayList低,LinkedList底层使用的是双向链表,遍历的时候会比较慢,但是插入的时候会很快。 Set的实现类有TreeSet,HashSet和LinkedHashSet等。 TreeSet:基于红黑树实现,支持有序性操作。(TreeSet不是根据插入顺序来排序,是根据实际插入元素的值来排序的,默认使用自然排序) HashSet:基于哈希表实现,不支持有序性操作,也就是说使用Iterator迭代器迭代这个集合的话,每次得到的结果是不确定的。 LinkedHashSet:具有HashSet的查找效率,且使用双向链表维护元素的有序性。
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务