根据不同条件的分类统计

问题描述

做项目的时候遇到一个统计问题。要根据栅格图的一个属性,提取其中不同的栅格,但是每次作业,提取的条件不一定相同。比如,该属性的值域为[0,100]。今天我需要提取属性为0~10和25~30的栅格,明天我需要提取50~81和26~32和0~3范围的栅格,后天可能要根据客户需要提取别的范围的栅格(客户需求共有多少个区域事先不知道,每个区域的边界事先也不知道),同时在每个区域内的栅格需要分别添加到不同的数组中。这个栅格图数据量特别特别大,如果遍历一遍只能提取一个区域的值,对于N个区域我要遍历N次,影响效率。我现在想只过滤一遍就得到所需的所有分类(就是提高效率)。请问这个有什么方法?比如我提取0~10和25~30的栅格,代码如下。//x是属性值doubledblX=0;//保存属性值小于10的arrayArrayListal10=newArrayList();//保存属性值大于25且小于30的arrayArrayListal25To30=newArrayList();//这里ArrayList.Add的只是属性,实际上添加的是栅格结构体if(dblX<10)al10.Add(dblX);elseif(dblX>25&&dblX<30)al25To30.Add(dblX);

如果我现在想添加判断条件,有什么好的方法吗?还是只能修改源代码?如果源代码不能修改的时候该怎么办?

解决方案

解决方案二:
条件也放在集合里,每次判断遍历集合中所有条件。保存集合用二维数组,数组对象嵌套或者字典,把遍历后符合条件的数据放入条件对应的保存集合里
解决方案三:
我试一试,不过是新手,可能不太熟悉,要是能有个代码提示最好啦~多谢。

时间: 2024-08-28 03:15:45

根据不同条件的分类统计的相关文章

图片-树形菜单根据条件选中

问题描述 树形菜单根据条件选中 这部分代码不会写,求指教 解决方案 你可以把list和userRAut 放到List里面然后将这个转换为json对象返回,前台js上的data中data[0]就是list,data[1]就是userRAut,然后进行匹配 解决方案二: 你的方法返回值是JSONArray,是list对应的JSONArray从你的需求看是要把代码1中的list和userRAut两个列表都传给前台.那么可以修改你的返回值为JSONObjet存入navAuthTree和userRAut两

select-link提取条件怎么编译不了了,怎么办???

问题描述 link提取条件怎么编译不了了,怎么办??? int[] array = { 1, 2, 3, 4, 5, 6, 7, 8 }; var query = from x in array where Predicate select x; foreach (int item in query) Console.WriteLine(item); bool Predicate(int n) { if (n % 2 == 0) return true; return false; } 解决方案

select-查询条件id一直 重复的问题or

问题描述 查询条件id一直 重复的问题or DEBUG 2016-01-13 20:42:12760 org.apache.ibatis.logging.jdbc.BaseJdbcLogger: ==> Preparing: SELECT * FROM hd_memory_address where id = ? OR id = ? OR id = ? OR id = ? OR id = ? OR id = ? OR id = ? OR id = ? OR id = ? OR id = ? OR

多字段,任意组合条件查询(0建模) - 毫秒级实时圈人 实践

标签 PostgreSQL , 数组 , GIN索引 , 任意字段组合查询 , 圈人 , ToB分析型业务 , 建模 背景 你也许在一家ToB的数据分析公司,你可能设计了一张表(包括用户标识,及若干已经统计好的的属性值),你也许收集了一些用户的数据,你也许要为客户提供报表,你也许需要为客户提供任意属性值的组合查询,并快速的返回结果给用户. 这些需求应该是非常常见的ToB的数据平台公司的形态,头痛的问题无法建模,因为B端的需求无法捉摸,任意组合查询.要求实时响应. 你的客户数据也许有几十亿上百亿,

java-用过LIRE的朋友,请问在建索引的时候能额外添加文本信息并在检索时可同时加入文本条件吗?

问题描述 用过LIRE的朋友,请问在建索引的时候能额外添加文本信息并在检索时可同时加入文本条件吗? 我为图像建立索引的时候,想对图像进行手动的分类,需要加入一些文字作为标签,然后在检索的时候可以加入标签文字以实现在一定范围内的图像检索. 我在建索引的时候,可以往DocumentBuilder创建的Document中添加额外的Field,这是没问题的.但在检索的时候,不知道如何为ImageSearcher添加文本条件,也没有发现提供这样的方法,请问有办法实现我的需求吗?

代码-C++条件语句问题!!!!!

问题描述 C++条件语句问题!!!!! 我用两个if条件语句执行两种不同情况的代码,现在想在第一个if条件语句执行完后,判断是否满足一个条件,如果满足,就跳出,不再执行:但是第二个if条件语句正常执行 .我在中间加了if(....)break;的语句,结果第二部分的条件语句不再执行了,请问是为什么?该如何解决??请大家帮个忙! 解决方案 可以设置一个标志变量: int flag=0; if(条件1){ ...; flag=1;} if(条件2 && flag!=1) {...} 解决方案二

基本线程同步(四)在同步代码中使用条件

在同步代码中使用条件 在并发编程中的一个经典问题是生产者与消费者问题,我们有一个数据缓冲区,一个或多个数据的生产者在缓冲区存储数据,而一个或多个数据的消费者,把数据从缓冲区取出. 由于缓冲区是一个共享的数据结构,我们必须采用同步机制,比如synchronized关键字来控制对它的访问.但是我们有更多的限制因素,如果缓冲区是满的,生产者不能存储数据,如果缓冲区是空的,消费者不能取出数据. 对于这些类型的情况,Java在Object对象中提供wait(),notify(),和notifyAll()

查询-sql 未满足条件时再加一条数据

问题描述 sql 未满足条件时再加一条数据 有表aa : ID , PID 1 , 5 2 , 4 3 , 20 4 , 11 5 , 2 条件 PID<=10 就查询出前三条数据条件 PID<=6 就查询出前两条数据 要怎么写 解决方案 下面是oracle的,各个数据的取前2条和前三条关键字不一样,有些是top有些事limit,有些事rownum SELECT IDPID FROM AA WHERE PID<=10 AND ROWNUM<=3 UNION SELECT IDPID

互斥锁和条件变量

为了允许在线程或进程之间共享数据,同步时必须的,互斥锁和条件变量是同步的基本组成部分. 1.互斥锁 互斥锁是用来保护临界区资源,实际上保护的是临界区中被操纵的数据,互斥锁通常用于保护由多个线程或多进程分享的共享数据.一般是一些可供线程间使用的全局变量,来达到线程同步的目的,即保证任何时刻只有一个线程或进程在执行其中的代码.一般加锁的轮廓如下: pthread_mutex_lock() 临界区 pthread_mutex_unlock() 互斥锁API pthread_mutex_lock(pth