A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 清风夜独醉 中级黑马   /  2014-4-6 22:58  /  1017 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 清风夜独醉 于 2014-4-8 16:53 编辑

Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点?

1 个回复

倒序浏览
本帖最后由 xuehuayous 于 2014-4-6 23:20 编辑

其实好多东西自己总结效果才最好,希望对你有帮助!
问题一、
Collection和Collections有什么关系?
Collection 和 Collections的区别:
Collections是个java.util下的类,是针对集合类的一个工具类,提供一系列静态方法,实现对集合的查找、排序、替换、线程安全化(将非同步的集合转换成同步的)等操作。
Collection是个java.util下的接口,它是各种集合结构的父接口,继承于它的接口主要有Set和List,提供了关于集合的一些操作,如插入、删除、判断一个元素是否其成员、遍历等。

问题二、
List和Set有什么异同点?
Collection
        List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
                |--ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
                |--LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度非常快。
                |--Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。
        Set:无序,不可重复元素。
                |--HashSet:数据结构是哈希表,线程是非同步。保证元素唯一性的原理,判断元素的hashCode值是否相同,如果相同还会继续判断元素的equals方法,是否为ture。
                |--TreeSet:可以对Set集合中的元素排序。

问题三、
Map有哪些常用类,各有什么特点?

Map
        |--Hashtable:底层是哈希表数据结构,不可以存入null键null值,该集合是线程同步的,JDK1.0效率低
        |--HashMap:底层是哈希表数据结构,允许使用null键null值,该集合是不同步的,JDK1.2效率高
        |--TreeMap:底层是二叉树数据结构,线程不同步。可以给map中的剑进行排序

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马