java集合类
来源:互联网 发布:优盘数据恢复实例 编辑:程序博客网 时间:2024/06/08 19:01
java集合架构支持3种类型的集合:规则集(Set),线性表(List),和图(Map),分别定义在Set,List,Map中。Set实例存储一组互不相同的元素(集合),List实例存储一组顺序排列的元素(表),Map存储一组 对象---关键值的映射。
以下为他们的总体架构:
Collection接口:
Set接口:
HashSet具体类
LinkedHashSet具体类
TreeSet具体类
List接口:
ArrayList具体类
LinkedList具体类
向量类Vector(线程安全,同步)具体类
Stack具体类
Map接口:
HashMap类
LinkedHashMap类
Hashtable类
TreeMap类
总结:
List有顺序有重复没有排序,set无重复有排序,map的key也和set一样。如果想跟List一样需要有插入元素的顺序,那么就可以使用LinkedHashSet或者LinkedHashMap。
List和Set都实现了collection接口。
Collections是其封装类。。实现了一系列的集合操作方法。比如排序sort等等。
Arrays类:提供了对数组排序,查找,比较,填充元素的各种静态方法。
Map下的HashMap和Hashtable的区别:
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.
问题:
ArrayList的大小是如何自动增加的
当有人试图在arraylist中增加一个对象的时候,Java会去检查arraylist,以确保已存在的数组中有足够的容量来存储这个新的对象。如果没有足够容量的话,那么就会新建一个长度更长的数组,旧的数组就会使用Arrays.copyOf方法被复制到新的数组中去,现有的数组引用指向了新的数组把某个ArrayList复制到另一个ArrayList中去的几种实现方式:
- 使用clone()方法,比如ArrayList newArray = oldArray.clone();
- 使用ArrayList构造方法,比如:ArrayList myObject = new ArrayList(myTempObject);
- 使用Collections的copy方法。
- Java集合:集合类详解
- Java集合-常用集合类
- JAVA【集合一】集合类
- JAVA中的集合类
- JAVA中的集合类
- JAVA中的集合类
- Java集合类(整理)
- java集合类
- JAVA中的集合类
- Java集合类笔记
- JAVA中的集合类
- java集合类
- java集合类总结
- JAVA中的集合类 - -
- JAVA中的集合类
- java集合类
- java 集合类
- java中的集合类
- 第9周项目5-程序填充题a
- 【第2章 习题6】
- 使用嵌套select子式 解决mysql不能叠加使用如max(sum())的问题
- 10.28软件设计大赛一下代码
- Python正则表达式指南
- java集合类
- LeetCode--N-Queens
- 链表和数组的优缺点
- python字符串操作
- [leetcode]Add Binary
- WEB程序设计之HTML(二)
- USB架构概述之九USB主机:硬件和软件
- Android学习日记(2)
- Erlang杂记