我有一个类:

public class Observation {

private String time;

private double x;

private double y;

//Constructors + Setters + Getters

}

我可以选择将这些对象存储在任何类型的集合中(标准类或第三方,如Guava).我已经在下面的ArrayList中存储了一些示例数据,但就像我说的那样,我对任何其他类型的集合都是开放的.所以,一些示例数据:

ArrayList ol = new ArrayList();

ol.add(new Observation("08:01:23",2.87,3.23));

ol.add(new Observation("08:01:27",2.96,3.17));

ol.add(new Observation("08:01:27",2.93,3.20));

ol.add(new Observation("08:01:28",2.93,3.21));

ol.add(new Observation("08:01:30",2.91,3.23));

该示例假定Observation中的匹配构造函数.时间戳存储为String对象,因为我从外部源接收它们,但我很乐意将它们转换为其他内容.我按时间顺序接收观察结果,因此我可以创建并依赖于有序的观察集合.时间戳不是唯一的(如示例数据中所示),因此我无法根据时间创建唯一键.

现在来问题了.我经常需要找到时间相等或最接近某个时间的一(1)次观察,例如,如果我的时间是08:01:29,我想在示例数据中获取第4个观察值,如果时间是08: 01:27我想要第3次观察.

我显然可以遍历整个集合,直到找到我正在寻找的时间,但我需要经常这样做,并且在一天结束时我可能有数百万的观察,所以我需要找到一个解决方案,我可以找到有效的相关观察.

我已经查看了各种集合类型,包括我可以使用Predicates过滤集合的类型,但是我找不到能够返回一个值的解决方案,而不是满足“< =”条件的集合的子集. .我基本上是在寻找SELECT * FROM ol WHERE time< = t LIMIT 1的SQL等价物.

我相信有一个聪明而简单的方法来解决我的问题所以我希望能够开悟.先感谢您.

java 最接近_Java在集合中查找最接近(或相等)的值相关推荐

  1. java map移除key为空_Java实现过滤掉map集合中key或value为空的值示例

    本文实例讲述了Java实现过滤掉map集合中key或value为空的值.分享给大家供大家参考,具体如下: import java.util.Collection; import java.util.H ...

  2. Java将map置空_Java实现过滤掉map集合中key或value为空的值示例

    Java实现过滤掉map集合中key或value为空的值示例 发布时间:2020-09-16 23:26:14 来源:脚本之家 阅读:147 作者:May的博客 本文实例讲述了Java实现过滤掉map ...

  3. 给定key值,在Binary Search Tree中查找最接近该键值的结点集合

    http://blog.csdn.net/zhouhao011280s/article/details/8044056 给定key值,在Binary Search Tree中查找最接近该键值的结点集合 ...

  4. Java过滤掉map集合中key或value为空的值

    import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...

  5. 从集合中查找最值得方法——max(),min(),nlargest(),nsmallest()

    从集合中查找最值得方法有很多,常用的方法有max(),min(),nlargest(),nsmallest()等. 一.max()和min() 1.1 入门用法 直接使用max(),min(),返回可 ...

  6. java 数组元素查找_Java在数组中查找指定元素的方法

    Java在数组中查找指定元素我们是用什么方法来实现呢,是使用遍历查找还是使用其它的方法来查找呢,下面给各位整理了一些查找数组元素的例子. 以下实例演示了如何使用 contains () 方法来查找数组 ...

  7. java 字符串 字符查找_java之字符串中查找字串的常见方法

    1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. int indexOf(String str, int startIndex):从指定的索引处开 ...

  8. java对汉字按照拼音首字母排序_java对象集合中某个属性的汉字进行按拼音进行排序...

    在开发中,有些时候我们要对一个集合中的对象的某个属性进行按拼音排序,便于更快的找到汉字,我采用Comparator接口,在实现这个接口里定义排序规则,取得比较对象的汉字编码,并将其转换成字符串,运用S ...

  9. java 有序容器_Java 容器集合框架概览

    Java Collections Framework 集合的概念 集合collection,有时叫做容器container,把多个元素组成一个单元. 早期的Java (pre-1.2) 中包含了Vec ...

最新文章

  1. java2018笔试基础题_java基础笔试题
  2. [网络应用]Flash中鼠标手势及Ctrl+T问题{Firefox}
  3. 柳传志大声对iphone说:这是在中国!
  4. 【LeetCode从零单排】No100 Same Tree No101 Symmetric Tree
  5. java 操作cursor数据库_Java连接各种数据库以及调用存储过程
  6. 马云:捐钱很容易 但当所有人行动才能有变化
  7. 【kafka】kafka Replica无法从leader同步消息
  8. python sqlite connection
  9. 夫妻俩70岁积蓄70万元,俩人退休金8000元,还需要理财吗?
  10. pipreqs 组件
  11. Python获取网络中的存活主机以及哪些主机是Linux
  12. 移动端JS事件、移动端框架
  13. 学了CPDA数据分析师认证课程对工作有什么好处?
  14. Myeclipse 项目中报“无法解析类型 java.io.ObjectInputStream,从必需的 .class 文件间接引用了它”解决办法
  15. 一阶逻辑形式推理系统
  16. Linux 10GE端口,CR19000关于10GE端口切换GE口
  17. 密码学_最近在论证一个问题,到底是先有鸡还是先有蛋
  18. linux广播命令,分享|在 Linux 终端收听广播
  19. DNS 缓存查看以及清除(转载)
  20. 回望2016-2018,希望在2019年有所斩获!

热门文章

  1. 直接双击启动tomcat中的startup.bat闪退原因及解决方法
  2. 解决 安装或卸载软件时报错Error 1001 的问题
  3. 【部署问题】解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid“ failed(2:No such file or directory)
  4. IDEA引MAVEN项目jar包依赖导入问题解决
  5. 您如何合并两个Git存储库?
  6. Win10电脑安装打印机驱动运转打印机的方法
  7. 端如何访问rc_如何进行 Linux 启动时间优化
  8. android 65536 简书,app编译打包时的65536问题
  9. palapaweb的mysql无法运行_Mysql 服务无法启动 服务没有报告任何错误
  10. web浏览器_微软低头,Chrome 一统浏览器!