`

数据循环处理中选择HashMap还是ArrayList

    博客分类:
  • java
 
阅读更多

在面对具体的业务操作中,我们可能会从数据库中查询一部分数据然后根据客户端传进来的数据,然后根据具体的算法,对这2部分的数据进行取交集或者其它的算法;

这个问题延伸就是在面对的具体的2个(List)数据集的操作的时候如果其中的一个数据集中能通过一个元素唯一的确定一个数据,可以把元素转换成HashMap的的格式,这样:1.能减少循环的次数;2,HashMap存放的数据比ArrayList相对来说要大些。

总结:1.在面对数据量比较大的情况下的业务处理(对单个数据元素的处理)根据具体的业务规则来考虑尽量避免使用循环(如果无法避免就没办法);

2.如果在业务规则中有多层循环,可以考虑具体的业务看是否能把里面的循环替换掉(比如用map);

在结果集很少的情况下多层的循环不会影响到具体性能,如果数据量比较大循环可能会成为这个业务的一个瓶颈,所以应该在碰到多层循环,而且数据量还比较大(几千,万个元素的多层循环)时候可以考虑去掉其中的某个循环,或者根据具体业务尽量减少次数(比如取到合适的数据就break 等)。

分享到:
评论

相关推荐

    对list数据的处理,数据库取得数据也可以利用这种方式.pdf

    在本例中,遍历ArrayList中的HashMap来提取特定的处方信息,如药品批次号(cfsb)、价格(hjje)、药品名(yllb)、开单日期(kdrq)等,这些都是医院管理和患者诊断所需要的关键信息。 ### 错误处理和异常捕捉 ...

    java中容器类ArrayList(底层数组实现)和数组存取效率简单测试

    同时,合理设计数据结构,根据业务需求选择更适合的容器类,例如HashSet(无序、不允许重复)、HashMap(键值对映射)等。 总之,ArrayList作为Java中的重要容器类,具有灵活的容量调整和高效的读取特性,但在插入...

    java集合类详解(set list ArrayList等java集合类详述)

    LinkedList 是采用双向循环链表实现的,可以实现栈、队列、双向队列等数据结构。 数据结构可以分为两大类:线性数据结构和非线性数据结构。线性数据结构包括线性表、栈、队列、串、数组和文件。非线性数据结构包括...

    Android Studio如何获取SQLite数据并显示到ListView上

    在数据集(listItem)中,每个条目是一个HashMap,键值对对应于ListView项的不同部分,如图片、类别和金额。 ```java List<HashMap, Object>> listItem = new ArrayList(); // 将数据填充到listItem for (int i = ...

    Java编程中“为了性能”需做的26件事

    在循环和高频调用的方法中,优先考虑使用基本数据类型或数组,以实现对象的最大化复用。 #### 4. 使用final修饰符 final修饰符可以防止类被继承,同时使方法具备内联的潜力,从而提高执行速度。在不影响程序功能的...

    学士后Java集合框架和泛型课后习题答案

    例如,ArrayList中的E就是一个类型参数,代表某种具体的对象类型。泛型可以限制集合中元素的类型,防止不兼容类型的数据存入,提高编译时的类型检查。 5. **泛型通配符**:?通配符用于表示任意类型。例如,`List<?>...

    JAVA性能--高效率执行JAVA[参考].pdf

    11. **单线程使用HashMap和ArrayList**:在单线程环境中,HashMap和ArrayList比同步的Hashtable和Vector性能更好。 12. **合理初始化HashMap**:预估并设定合适的HashMap容量和负载因子,以减少不必要的扩容操作。 ...

    13.foreach循环_java_

    在Java编程语言中,`foreach`循环,也称为增强型for循环或迭代器循环,是处理数组和集合数据的一种简洁高效的方式。这个小视频详细介绍了如何在Java中正确使用`foreach`循环,让我们深入探讨一下相关知识点。 首先...

    Java面试总结,Redis宕机数据丢失解决方案,看完这篇彻底明白了.docx

    * HashMap的内部结构主要是数组和链表的结合,通过hash函数将键映射到数组中的索引上,然后使用链表解决冲突的问题 * HashTable和HashMap的区别在于,HashTable是线程安全的,而HashMap不是 2. ConcurrentHashMap...

    数据结构(Java版)源代码

    数据结构是计算机科学中的核心概念,它涉及到如何有效地组织和管理数据,以便于高效地进行存储、检索和处理。在Java编程中,理解和掌握数据结构是编写高效算法和设计复杂系统的基础。本资源"数据结构(Java版)源代码...

    java代码-使用集合ArrayList对字符串进行存储和管理 任务: 1.定义ArrayList对象 2.存储学科名称,见运行效果图 3.输出集合中元素的个数 4.遍历输出集合中的所有元素

    在Java编程语言中,集合框架是处理对象组的重要工具,ArrayList是其中的一种。ArrayList是一个基于数组实现的动态大小的列表,允许我们在其中存储和管理各种类型的对象,包括字符串。在这个场景中,我们将深入理解...

    Java面试常用数据结构与算法

    在Java面试中,数据结构与算法是至...在实际项目中,合理选择和使用数据结构及算法,能够提高代码的效率和质量,从而提升整体软件性能。因此,不断学习和实践这些知识,对于提升个人技术水平和职业发展有着积极的影响。

    java数据结构于算法(第二版)_书中示例代码

    - **集合框架**:ArrayList、LinkedList、HashSet、HashMap等,提供了丰富的数据结构实现。 - **多线程**:Thread类和Runnable接口,以及同步控制机制如synchronized关键字和Lock接口。 - **IO流**:用于读写文件...

    网球循环赛日程表,包括swt编写的界面

    使用Java类和集合框架,如ArrayList或HashMap,可以实现这种数据结构。然后,你需要编写代码来填充SWT Table,根据数据模型更新界面。 SWT中的事件监听机制也非常重要,它允许用户与界面交互。例如,当用户点击...

    暑假培训学习笔记之java循环遍历集合

    在Java编程语言中,集合是数据结构的一种表现...通过灵活运用不同的循环机制,我们可以高效地处理各种复杂的数据结构,提高代码的可读性和维护性。在实际开发中,根据具体场景选择合适的遍历方式,可以使代码更加优化。

    数据结构和Java集合框架《Data Structures and the Java Collections Framework》

    数据结构和Java集合框架是Java开发中的核心概念,它们对于高效地存储和处理数据至关重要。在Java编程中,集合框架是一组接口和类,提供了一种标准的方式来组织和操作对象的集合。本资源《Data Structures and the ...

    java提高性能[定义].pdf

    10. **单线程使用HashMap和ArrayList**:在单线程环境中,HashMap和ArrayList比同步的HashTable和Vector更高效。 11. **合理创建HashMap**:预估HashMap的初始容量和负载因子,避免多次扩容,这是非常耗性能的操作...

    java ArrayList按照同一属性进行分组

    当我们处理包含对象的ArrayList时,有时需要根据对象的特定属性(如字段值)将这些对象进行分组,以便进行聚合操作或者进一步的数据分析。本文将详细讨论如何在Java中使用ArrayList按照同一属性进行分组。 首先,...

    java编程中 为了性能 尽量要做的26点

    11. **在单线程环境中使用HashMap和ArrayList**:HashMap和ArrayList是非同步的,性能优于同步的HashTable和Vector。 12. **合理初始化HashMap**:预估最佳容量并提供构造函数参数,避免多次扩容导致的性能损失。 ...

    经典Java集合笔试选择题10道.doc

    Java集合框架是Java编程语言中不可或缺的一部分,它提供了一组高效的数据结构,使得开发者能够方便地存储、管理和操作数据。以下是对题目中涉及知识点的详细解释: 1. **线程安全的集合类**: 在Java中,线程安全...

Global site tag (gtag.js) - Google Analytics