java面试题:集合_Java:选择正确的集合
java面试题:集合
最好的通用或“主要”实现可能是ArrayList,LinkedHashMap和LinkedHashSet。 它们的整体性能更好,除非您需要其他实现提供的特殊功能,否则应使用它们。 该特殊功能通常是排序或排序。
在这里,“排序”是指迭代器返回的项目的顺序,“排序”是指根据Comparable或Comparator对项目进行排序。
接口 | 有重复吗? | 实作 | 历史的 | ||||
组 | 没有 | 哈希集 | … | LinkedHashSet * | … | 树集 | … |
清单 | 是 | … | ArrayList * | … | 链表 | … | 向量 , 堆栈 |
地图 | 没有重复的键 | 哈希图 | … | LinkedHashMap * | … | 树状图 | 哈希表 , 属性 |
非主要实现的主要特征:
- HashMap的性能比LinkedHashMap略好
- HashSet的性能比LinkedHashSet略好
- TreeSet已排序和排序,但速度较慢
- TreeMap已排序和排序,但速度较慢
- LinkedList可以快速添加到列表的开头,并且可以通过迭代从内部快速删除
以上实现的迭代顺序:
- HashSet – 未定义
- HashMap – 未定义
- LinkedHashSet –插入顺序
- LinkedHashMap –键的插入顺序(默认情况下)或“访问顺序”
- ArrayList –插入顺序
- LinkedList –插入顺序
- TreeSet –按照可比/比较器的升序
- TreeMap –根据可比/比较器,键的升序
对于LinkedHashSet和LinkedHashMap,项目的重新插入不会影响插入顺序。
在地图或集合中使用时,这些项目不得更改状态(因此,建议这些项目是不可变的对象):
- 地图键
- 套装中的物品
排序要求:
- 存储的项目实现可比性
- 定义存储对象的比较器
要保留在ORDER BY子句中指定的ResultSet的顺序,请将记录插入到List或LinkedHashMap中。
参考:在“ 建筑师日记”博客中,从我们的JCG合作伙伴 Sanjeev Kumar 选择了正确的收藏 。
翻译自: https://www.javacodegeeks.com/2012/09/java-choosing-right-collection.html
java面试题:集合
java面试题:集合_Java:选择正确的集合相关推荐
- 改善C#程序的建议3:在C#中选择正确的集合进行编码
原文:改善C#程序的建议3:在C#中选择正确的集合进行编码 要选择正确的集合,我们首先要了解一些数据结构的知识.所谓数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合.结合下图,我们看一下对 ...
- java异常处理试题答案_Java 面试题和答案 - (下)
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...
- java面试题下载_java面试题大全 打包 下载
java面试题大全 打包 下载 资料目录: 面试题 |____性能优化面试专题 |____程序性能优化 |____Mysql优化相关问题 |____Tomcat优化相关问题.docx |____JVM ...
- java 三大集合_java中的三大集合入门笔记(简单实用)
为什么使用集合框架 如图: 集合的好处: 集合弥补了数组的缺陷,它比数组更灵活更实用,可大大提高软件的开发效率,而且不同的集合适用于不同的场合. Java集合主要分为以下3种类型 Java集合框架提供 ...
- Java for函数用法_Java函数式编程(四)集合的使用
第二章:集合的使用 我们经常会用到各种集合,数字的,字符串的还有对象的.它们无处不在,哪怕操作集合的代码要能稍微优化一点,都能让代码清晰很多.在这章中,我们探索下如何使用lambda表达式来操作集合. ...
- java面试题 英文_JAVA面试题和答案(英文版).pdf
Java面试题和答案 (英文版) Q:What isthe difference betweenan Interface and anAbstract class? A:Anabstract clas ...
- java list怎么替换_Java如何对List集合的操作方法(一)
目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...
- Java:选择正确的集合
这是在应用程序中选择Set , List或Map的正确实现的快速指南. 最好的通用或"主要"实现可能是ArrayList,LinkedHashMap和LinkedHashSet. ...
- java的核心类库_Java核心类库,集合框架
Java集合框架的由来: Java最初版本只为最常用的数据结构提供了很少的一组类:比如Vector.Stack.Hashtable.BitSet.Enumerrationr接品,其中Enumerrat ...
最新文章
- layui表格获取不到多层数据的解决方案
- Spark Streaming实现实时WordCount,DStream的使用,updateStateByKey(func)实现累计计算单词出现频率
- orbeon form 的配置介绍
- 求一个连通图的割点(去掉一个点后图不再连通)
- Mysql 替换字段的一部分内容
- LeetCode 856. 括号的分数
- PACKING【二维01背包】
- [UVALive 3661] Animal Run
- sony微型计算机,舍我其谁?只有SONY做得到!
- YUV序列下采样以及彩色4:2:0与灰度4:0:0转换---基于matlab实现
- Node文件服务器(文件上传)
- 码农如何写好一封邮件/1
- UVA11752 The Super Powers —— 数论、枚举技巧
- 组织和遍历TreeView里面的数据
- Java设计模式-简单工厂模式(Static Factory Method)
- WPF--->Stylet将TextBox修改为圆角
- 服务器内存是用接近完毕
- ios 8 地图定位
- 三角函数正交性理解与Matlab分析
- ffmpeg 中av_rescale_rnd 的含义