13 集合构架 java
来源:互联网 发布:编程要学些什么 编辑:程序博客网 时间:2024/05/17 01:34
Java集合构架
1. java集合构架支持三种类型:set、list、map,java集合构架中的所有具体类都实现了Cloneable与Serializable接口。
Set中存储一组互不相同的元素
List中存储一组顺序排列的元素
Map中存储键值对
说明:HashSet与HashMap等基于hash的集合元素相等判断方式为:先使用hashcode()方法判断是否相同,若相同再使用equals()方法判断是否相同,若两者均相同才同。
TreeSet与TreeMap等基于Tree的集合元素排序方式为:原理聚焦于二叉搜索树。两种排序方式:自然排序与集合比较器排序。
注:可使用Collections.reverseOrder()方法获得逆自然顺序比较器。
2. 规则集Set
存储一组互不相同的元素,是否相同由元素的散列码判断
具体类:
a.HashSet 特点:无序、高效
b.LinkedHashSet 特点:插入有序
c.TreeSet 特点:排列有序
注:只有对象之间相互可比时,才能将其加入到TreeSet中,两种可比方式:1. 元素实现Comparable接口 2.给规则集指定比较器
创建比较器格式如下:
Public class xxx implements Comparator{ Public int compara(Object a, Object b){ //实现 }}
另外,建议使用new TreeSet(Collection)方式创建规则集,因为其只进行一次排序。而如果使用创建空TreeSet,然后使用add()方式添加元素的话,效率低下,因为每次add都会使规则集排序一次。
3. 线性表List
存储一组顺序排列的元素,即可以直接用下标访问集合元素
a.ArrayList 特点:数组线性表,查、改效率高
b.LinkedList 特点:链式线性表,删、增效率高
c.Vector 特点:同步
d. Stack 特点:栈
4. 图Map
存储一组键值对
a1.HashMap 数组结构:哈希表、非同步,K、V可以为空。特点:查、插、删效率高
a2.HashTable 数组结构:哈斯表、同步、K、V不可以为空,现已被HashMap所替代。
b.LinkedHashMap 特点:可按插入顺序(默认)或访问顺序排序
c.TreeMap 数组结构:二叉树。特点:按键值顺序排序,可参照TreeSet说明。
5. 泛型(广泛的类型)
格式:eg:Set<String>set=new TreeSet<String>();
用途:当集合类型不确定时,将运行时异常转换为编译时异常。
自定义泛型类: class mm<T>{ ...}
自定义泛型方法:public <T> void mm(){...}
注意:若方法参数指定为ArrayList<父类>,则传入参数必须为ArrayList<父类>,两者必须完全相同。而ArrayList<? extends 父类>、ArrayList<? super 子类>代表两种体系,这种方式称为泛型限定。
6. 集合操作类Collections
包含了大量处理线性表方法和创建同步集合、不可修改集合静态方法。
7. 数组操作类Arrays
包含了大量数组操作方法。
8. 迭代器Iterator
是一个用于遍历集合的接口
9. 高级for循环
使用格式:for( 类型 mm:集合or数组){...} //凡是支持迭代器的集合均支持高级for循环。
- 13 集合构架 java
- java集合框架构架图
- java基础(三)------集合构架
- 课程 Java Web程序设计13: MVC构架
- 集合框架常用子类构架体系
- 构架Java并发模型框架
- 构架Java并发模型框架
- 构架Java并发模型框架
- 构架Java并发模型框架
- 构架Java并发模型框架
- java之集合13
- 构架 Linux 环境下 Java 开发环境
- java分布式编程之Reactor构架模式
- java集合系列13 Set
- Java集合:集合框架
- java集合---set集合
- JAVA 集合 的 集合
- 【集合】Java集合对比
- Android_清除/更新Bundle中的数据(不finish() Activity的情况下)
- 数据拆分
- 数据库-mysql--Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
- poj1068--Parencodings
- Nginx + Memcached + Tomcat 集群
- 13 集合构架 java
- NYOJ 取石子(八) 威佐夫博弈
- 使用Maven构建和部署J2EE应用程序的EAR文件
- 尼玛 根本不会
- MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法
- 203室:凶宅
- bzoj 2506 calc 题解
- 网络获取JSON相应代码备份
- 2014.5.20