返回顶部
首页 > 资讯 > 后端开发 > Python >JAVA中对List进行查询
  • 694
分享到

JAVA中对List进行查询

2024-04-02 19:04:59 694人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录List查询总结List查询 JAVA中从数据库中取数据,根据MyBits返回结果主要有两种类型的List,一种是List<Entity>,还一种是List<M

List查询

JAVA中从数据库中取数据,根据MyBits返回结果主要有两种类型的List,一种是List<Entity>,还一种是List<Map<String,Object>>,

那么怎样对List结果集进行查询操作呢?当然最常用的是用for循环遍历,但是这个效率比较低下,下面是我认为比较好的操作方式,

对List<Map<String,Object>>的查询


    
    public static List<Map<String,Object>> findDataFromListMap(List<Map<String,Object>> list,String keyName,Object value) {
        Predicate<Map<String,Object>>predicate = new Predicate<Map<String,Object>>() {
            @Override
            public boolean evaluate(Map<String,Object> map) {
                // TODO Auto-generated method stub
                try {
                    Object val = map.get(keyName);
                    if(value == null || val == null)
                        return false;
                    return val.equals(value);
                }
                catch (Exception e) {
                    return false;
                }
            }
        };
        List<Map<String,Object>> result = (List<Map<String,Object>>) CollectionUtils.select( list, predicate);
        return result;
    }
    
    public static List<Map<String,Object>> findDataFromListMapByKeyValues(
            List<Map<String,Object>> list,
            Map<String,Object> keyName2ValueMap) {
        Predicate<Map<String,Object>>predicate = new Predicate<Map<String,Object>>() {
            @Override
            public boolean evaluate(Map<String,Object> map) {
                // TODO Auto-generated method stub
                try {
                    for(Map.Entry<String,Object> entry : keyName2ValueMap.entrySet()){
                        String keyName  = entry.geTKEy();
                        Object value = entry.getValue();
                        Object val = map.get(keyName);
                        if(StringUtils.isBlank(keyName) || value == null || val == null)
                            return false;
                        if(!val.equals(value))
                            return  false;
                    }
                    return true;
                }
                catch (Exception e) {
                    return false;
                }
            }
        };
        List<Map<String,Object>> result = (List<Map<String,Object>>) CollectionUtils.select( list, predicate);
        return result;
    }

对List<Entity>的查询


    
    public static <T,V> List<T> findObjFromList(List<T> list,String methodName,V value) {
    	Predicate<T>predicate = new Predicate<T>() {
			@Override
			public boolean evaluate(T obj) {
				// TODO Auto-generated method stub
				try {
					Method method = obj.getClass().getMethod(methodName);
					@SuppressWarnings("unchecked")
					V keyName = (V) method.invoke(obj);
					return keyName.equals(value);
				}
				catch (Exception e) {
					return false;
				}
			}
		};
		List<T> result = (List<T>) CollectionUtils.select( list, predicate);
		return result;
    }

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: JAVA中对List进行查询

本文链接: https://lsjlt.com/news/132340.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JAVA中对List进行查询
    目录List查询总结List查询 JAVA中从数据库中取数据,根据MyBits返回结果主要有两种类型的List,一种是List<Entity>,还一种是List<M...
    99+
    2024-04-02
  • java怎么对list进行排序
    Java中可以使用Collections.sort()方法对List进行排序。具体步骤如下:1. 导入java.util包中的Col...
    99+
    2023-09-14
    java
  • Python中对list进行排序
    很多时候,我们需要对List进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序方法2.用built-in函数sorted进行排序(从2.4开始)这两种方法使用起来差不多,以第一种为...
    99+
    2023-01-31
    中对 Python list
  • SQL 对表进行聚合查询
    目录一、聚合函数二、计算表中数据的行数三、计算 NULL 之外的数据的行数四、计算合计值五、计算平均值六、计算最大值和最小值七、使用聚合函数删除重复值(关键字 DISTINCT)请参阅 学习重点 使用聚合函数对表中的列进行计算合计值...
    99+
    2018-07-28
    SQL 对表进行聚合查询
  • MySQL对JSON数据进行查询
    MySQL根据JSON字段的内容检索查询数据 使用 字段 -> ‘$.json’ 属性’ 进行查询条件 以下这两种会快很多,可以自己测试 使用 json_extract 函数查询,json_extract(字段, “$.json...
    99+
    2023-08-16
    mysql json mybatis
  • 如何在mysql中对查询进行优化
    本篇文章为大家展示了如何在mysql中对查询进行优化,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、优化方法(1)重新定义表的关联顺序(多张表关联查询时,并不一定按照SQL中指定的顺序进行,但有一...
    99+
    2023-06-15
  • 怎么在MySQL中对查询进行优化
    本篇文章给大家分享的是有关怎么在MySQL中对查询进行优化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、创建索引规范在学习索引优化之前,需要对创建索引的规范有一定的了解,此...
    99+
    2023-06-08
  • Java中怎么利用Streams对数据库进行查询操作
    Java中怎么利用Streams对数据库进行查询操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。示例数据库我们使用的示例数据库是Saki...
    99+
    2024-04-02
  • MySQL对JSON数据进行IN查询
      JSON相关函数可以看这个博客 【MySQL】对JSON数据操作(全网最全)_mysql json_0世界和平0的博客-CSDN博客 SELECT 字段名FROM 表名WHERE CASE WHEN JSON...
    99+
    2023-09-05
    json mysql 后端 数据库
  • PHP中怎么对数组进行模糊查询
    这篇文章主要介绍“PHP中怎么对数组进行模糊查询”,在日常操作中,相信很多人在PHP中怎么对数组进行模糊查询问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中怎么对数组进行模糊查询”的疑惑有所帮助!接下来...
    99+
    2023-07-06
  • MyBatis中怎么进行一对一关联查询
    在MyBatis中进行一对一关联查询需要使用resultType标签来映射查询结果。以下是一个示例: 定义两个实体类,例如Use...
    99+
    2024-04-08
    MyBatis
  • MyBatis中怎么进行一对多关联查询
    在MyBatis中进行一对多关联查询可以通过在映射文件中使用嵌套查询来实现。具体步骤如下: 在映射文件中定义两个查询语句,一个用于...
    99+
    2024-04-08
    MyBatis
  • java对list<Object>进行手动分页实现
    该方法使用的jdk1.6以后自带的分页工具类实现 public static void main(String[] args) { ArrayList list = ...
    99+
    2024-04-02
  • Golang对mongodb进行聚合查询详解
    目录1.BSON介绍2.过滤查询2.1go查询2.2bucket命令3.聚合查询3.1mongo命令使用3.2go 聚合查询MongoDB的环境搭建参考前面一篇通过mongo-driver使用说明 GO 包管理机制 1....
    99+
    2023-02-10
    Golangmongodb聚合查询 Golangmongodb mongodb聚合查询
  • redis中对list进行排序的方法
    这篇文章主要介绍了redis中对list进行排序的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。redis中对list排序使用sort进行。...
    99+
    2024-04-02
  • MybatisPlus实现对象嵌套关联查询一对多List集合查询
    目录对象嵌套关联查询一对多List集合查询mybatis嵌套关联查询如下一对多查询(经典案例)条件数据库代码实现对象嵌套关联查询一对多List集合查询 mybatis嵌套关联查询如下...
    99+
    2024-04-02
  • 怎么在MongoDB中对数组中的元素进行查询
    怎么在MongoDB中对数组中的元素进行查询?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言MongoDB是文档型数据库,每个文档(doc)...
    99+
    2024-04-02
  • SQL 对查询结果进行排序(ORDER BY)
    目录一、ORDER BY 子句二、指定升序或降序三、指定多个排序键四、NULL 的顺序五、在排序键中使用显示用的别名六、ORDER BY 子句中可以使用的列七、不要使用列编号请参阅 学习重点 使用 ORDER BY 子句对查询结果进...
    99+
    2020-09-10
    SQL 对查询结果进行排序(ORDER BY)
  • 怎么对MySQL查询结果进行排序
    怎么对MySQL查询结果进行排序,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  MySQL查询结果如何排序  之前有一个功能...
    99+
    2024-04-02
  • 使用MyBatis怎么对缓存进行查询
    使用MyBatis怎么对缓存进行查询?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、一级查询缓存MyBatis一级缓存是基于org.apache.ibatis...
    99+
    2023-05-31
    mybatis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作