【问题标题】:how to access previous index with array list?如何使用数组列表访问上一个索引?
【发布时间】:2021-02-19 04:41:56
【问题描述】:

我有如下代码

List<Transaction> ts = transaksiRepo.findAll();
 for (Transaction data5 : ts) {
        if (data5.getStatus().equals("NOT PAID OFF")) {
            log.info("Testing");
        }
 }

我想获取以前的数据索引以判断数组列表中的代码是否为其他条件

像这样

List<Transaction> ts = transaksiRepo.findAll();
 for (Transaction data5 : ts) {
        if (data5.getStatus().equals("NOT PAID OFF") && previous index.getStatus.equals("NOT PAID OFF")) {
            log.info("Testing getStatementDate");
        }
 }

我该如何解决这个问题?

【问题讨论】:

    标签: java arrays for-loop


    【解决方案1】:

    您可以使用简单的for loop 并轻松实现。

    我已经从1 开始索引,因为我们将比较以前的索引,即0th 元素。

    根据您的需要修改logic

    List<Transaction> ts = transaksiRepo.findAll();
    for (int i=1;i<ts.size();i++) {
        if (ts.get(i).getStatus().equals("NOT PAID OFF") && ts.get(i-1).getStatus.equals("NOT PAID OFF")) {
            log.info("Testing getStatementDate");
        }
    }
    

    【讨论】:

      【解决方案2】:

      我建议您使用 ShubhWIP 的答案,但如果您绝对喜欢增强的 for 循环,您仍然可以使用它:

      List<Transaction> ts = transaksiRepo.findAll();
      Transaction prevTs = null;
      for (Transaction data5 : ts) {
          if (data5.getStatus().equals("NOT PAID OFF") && prevTs != null && prevTs.getStatus.equals("NOT PAID OFF")) {
              log.info("Testing getStatementDate");
          }
          prevTs = ts;
      }
      

      【讨论】:

        猜你喜欢
        • 2018-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-07
        • 1970-01-01
        • 2014-03-08
        • 2012-02-18
        • 2015-04-14
        相关资源
        最近更新 更多