黑马程序员技术交流社区
标题: 关于集合的整个体系结构的个人总结,求多多的建议 [打印本页]
作者: 王舒玮 时间: 2012-11-26 22:07
标题: 关于集合的整个体系结构的个人总结,求多多的建议
学习集合的体系
Collection
1、--List(元素有序,可重复)
ArrayList:底层数据结构是数组,查询快,增删慢;
线程不安全,效率高
Vector: 底层数据结构是数组,查询快,增删慢。
线程安全,效率低
LinkedList:底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
2、--Set(元素无须,不可重复)
HashSet:底层数据结构是哈希表。
保证元素唯一性:
它依赖于两个方法:hashCode和equals。
首先,判断哈希值是否相同,如果不同,就直接添加到集合中。
如果相同,在进入equals方法判断;
如果返回值是false,就添加进集合。
如果返回值是true,说明是重复元素,不添加到集合中
TreeSet:底层数据结构是二叉树。
保证元素唯一性
根据Comparable接口的compareTo方法或者Comparator接口的compare方法的返回值是否为0,来确定是否是重复元素。如果是0,就不添加元素。
排序:
让元素本身具备比较性:Comparable -- compareTo
让集合具备比较性:Comparator -- compare
泛型:(1) 是一种特殊的类型,它把明确类型的工作推迟到了创建对象或者使用方法的时候 来明确。
(2)格式:<数据类型>
Map:
(1)Map是存储键值对元素的顶层接口。(理解)
A: 特点:
双列的集合
数据时成对出现的
键是唯一的
B:Map和Collection的区别
Collection是单例的集合
数据是单个出现的
List的元素可重复,Set的元素是唯一的
3、--map
HashMap:保证键的唯一性不能排序
通过自定义对象的hashCode方法和equals方法(方法同HashSet)
TreeMap:保证键的唯一性和排序(方法同TreeSet)
集合具备比较性:Comparator -- compare
元素具备比较性:Comparable -- compareTo
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |