java基础之谈谈集合类(关于集合类的总结和比较)
来源:互联网 发布:日本人编程不画流程图 编辑:程序博客网 时间:2024/05/03 16:28
前言:集合类是平时使用比较多的一个基础类库,是java保存对象的一种方式。正因为平时用的比较多,说的也是头头是道,趁着好好总结和归纳一下还是大有益处的。
一.两个鼻祖接口
1)Conllection。一个独立元素的序列,其中的元素都要服从一条和多条规则,所有的单列集合类都是实现其接口,像List,Set,Queue.....
主要方法:像添加一组元素addAll()等
2)Map。一组成对的“键—值”对象,允许使用键来查询值.
二.主要实现类
1)list也是一个接口,可以将元素维护在特定序列中,可以存储重复元素,不过相比较conllection的基础上添加了大量的方法,比如在List中中间插入和移除元素。
两个常用实现类
1,基本的ArrayList,它长于随机访问元素,但是在List的中间插入和移除元素时比较慢,底层是一个数组;
2,LinkedList,则可以通过较低的List中间进行插入和删除元素 ,优化了顺序访问,但是随机访问方面相对比较慢,但是特性会比比ArrayList丰富一些,可以移除增加首位元素。
其特性还有使用了其用作,栈、队列,或双端队列的方法。
2)Stack
栈通常是指“后进先出”的容器,就是最后一个压入栈的元素,第一个弹出栈,而LinkedList具有能够直接实现栈的所以功能的方法,因此可以将LinkedList作为栈使用。
3)Set
Set不保存重复元素,与Conllection完全一样的接口,因此没有额外的功能(只是与conllection行为不同,是一个多态和继承的典型应用)
1,HashSet,出于对速度原因的考虑,使用散列函数,其维护的顺序与以下两个实现类也是不同的。
2,TreeSet,是将元素存储在红—黑树数据结构中,所以储存的元素时有序的。
3,LinkeHashSet因为查询速度的原因也使用了散列函数,但是使用了链表来维护元素的插入顺序。
4)Map 将对象映射到其他对象
HashMap,用来快速访问
TreeMap,保持了键始终处于排序状态
LinkedHashMap,保持了元素的插入顺序,但也通过散列提高了访问速度。
5)Queue
队列是一种先进先出的容器,进入的顺序和取出的顺序是相同的,而LinkedList提供了方法支持队列的行为,并且实现了Queue接口,因为LinkedList可以用作Queue的一种实现
三.迭代器
1)迭代器遍历并选择序列中的对象,是一个轻量级的对象,创建它的代价小,在java中,Iterator只能单向移动,使用next()获取序列中的下一个元素,使用hashNext()检查序列中是否还有元素,使用remove()将迭代器新近返回的元素删除,这些的前提是使用iterator()返回一个迭代器对象。
2)ListInterator是一个更加强大的迭代器子类,不过只能用来各种List类的访问,基本迭代器是单向移动的而ListInterator是可以双向移动的。
- java基础之谈谈集合类(关于集合类的总结和比较)
- 【Java基础之集合(三)】集合对象比较大小和比较重复的区别和不同实现
- Java集合类的总结与比较
- Java基础之常见集合的比较
- java基础-集合类总结
- 关于JAVA集合类的一点总结!
- 关于Java集合类总结
- Java基础---集合之常用集合类的区别和联系、collections、泛型
- Java基础总结之集合
- java基础之集合总结
- java基础之集合类
- java基础之集合类
- Java基础之集合类
- java基础之集合类
- java基础之集合类
- java基础之集合类
- Java基础之集合类
- java基础之集合类
- MySQL数据库常用命令
- 算术运算符--Java基础008
- react中styleName和className的相关用法
- dd命令 刻录U盘启动
- python 判断文件夹是否存在
- java基础之谈谈集合类(关于集合类的总结和比较)
- div里面的inline-block/inline内容两端对齐:
- JDBC连接池技术(c3p0)配置警告问题
- 出栈的可能性
- 自增与自减--Java基础009
- 74. Search a 2D Matrix**
- Caused by: java.sql.SQLException: Access denied for user 'root'@'host' (using password: YES)
- android读取文件错误,权限拒绝 open failed: EACCES (Permission denied),华为手机报错
- IT推理 - 拿钻石