Java - 集合框架 - 整理
来源:互联网 发布:美股模拟炒股软件 编辑:程序博客网 时间:2024/05/01 08:55
/****************集合框架关系图***************/
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/****************集合框架简图***************/
|--Collection接口: 顶层接口,声明了集合的核心方法。(单列集合)
——|-- List(清单) 接口: 有序、有索引、可重复。
————|--Vector与ArrayList相似。支持同步。
————|--ArrayList(数组表) 不同步,替代Vertor,查询快。
————|--LinkedList(链表) 不同步,增删快。
可使用ListIterator(列表迭代器)提供双向遍历next() previous(),可删除、替换、增加元素。
——|--Set(集)接口: 无序、不可重复
————|--HashSet内部数据结构哈希表,不同步
——————|-- Hash表是一种数据结构,用来查找对象。Hash表为每个对象计算出一个整数,称为Hash Code(哈希码)。
HashSet 通过 hashCode 和 equals 来判断数据唯一。先看哈希码是否相等,不相等直接存入。相等再看equals,返回false才可以被存入。
————|--TreeSet可以对 Set 集合中的元素进行排序,不同步。(元素必须具备比较性,或集合必须有比较方法)
——————|--TreeSet储存的元素要实现Comparable。或者TreeSet 自定义比较器Comparator。不然。。。
集合的一些技巧:
——需要唯一吗?
————需要: Set
————需要制定顺序:
——————需要: TreeSet
——————不需要:HashSet
——————但是想要一个和存储致的顺序(有序 ):LinkedHashSet
——不需要唯一
————需要频繁增删吗?
——————需要: LinkedList
——————不需要: ArrayList
看到ArrayList: 就要想到数组,查询快有角标
看到LinkedList:就要想到链表,就要到想增删快,add get remove + frist last 方法
看到HashSet: 就要想到哈希表,就要想到唯一性,元素需覆盖hashcode 和 equals 方法
看到TreeSet: 就要想到二叉树,就要想到排序,就要想到两个接口Comparable和Comparator
|--Map接口:(映射表)(双列集合)
——|--Hashtable: 内部结构哈希表,同步,不能null键,不能null值。
————|--Properties:用来存储键值对型的配置文件的信息,可以和 IO 技术相结合。
——|--HashMap:内部结构哈希表,不同步,可以能null键,可以null值。
————|--LinkedHashMap-扩展HashMap,对返回集合迭代时,维护插入顺序
——|--TreeMap:内部结构是二叉树,不同步,可以对 Map 集合中的键进行排序。
- java集合框架整理
- Java - 集合框架 - 整理
- Java集合框架整理
- JAVA集合框架整理总结
- java整理之集合框架
- Java集合以及框架 陆续整理
- 黑马程序员—java集合框架整理
- 集合框架概念整理
- Collection集合框架整理
- 黑马程序员——Java集合框架—整理笔记
- Java知识整理(六)之SE.集合框架
- Java集合:集合框架
- Java集合类(整理)
- JAVA集合整理
- java集合类整理
- Java的集合整理
- Java集合大整理
- Java 集合类整理
- eclipse ADT在线安装 https://dl-ssl.google.com/android/eclipse无法访问
- 进程间通讯IPC随笔
- Intent的数据传递
- windows编译ffmpeg出现gcc is unable to create an executable file 的一般情况
- Linux下配置jdk1.7
- Java - 集合框架 - 整理
- [翻译+笔记]推荐算法之协作过滤
- mac Cocos2d-x中常用粒子编辑器ParticleDesigner测试例子
- 通 信 习 题 TD基本原理
- 手机接入检测及驱动安装判断
- 判断一个数是否是2的幂次方
- OpenGL ES3.0 《学习笔记 一》Introduction to OpenGL ES 3.0
- java项目开发全程实录第5章运行错误。
- c++中STL库 简介 及 使用说明