有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

两个日期之间的datetime Java HashMap筛选器

我试图在两个日期(区域设置日期)之间进行过滤或限制,但我不确定如何在下面的代码中进行过滤或限制

我的代码

        Map<String, Double> Total_IExpense = datatransaction.stream()
                .collect(groupingBy(TransactionData::getName,
                        Collectors.summingDouble(TransactionData::getAmount)));
Date        Name    Amount

04-Jan-21   Jomon   3,900.00
01-Jan-21   John    650.00
29-Dec-20   Priya   1,435.00
28-Dec-20   Jore    303.00
28-Dec-20   Jomon   453.74
28-Dec-20   Jore    81.67
26-Dec-20   John    25.12
21-Nov-20   Priya   118.38
21-Nov-20   Jomon   21.31
20-Nov-20   John    438.24
20-Nov-20   John    78.88
19-Nov-20   Jai 1,612.81
19-Nov-20   Priya   68.22

我需要过滤-20年11月21日至20年12月28日和预期输出

Date        Name    Amount
21-Nov-20   Jomon   21.31
21-Nov-20   Priya   118.38
26-Dec-20   John    25.12
28-Dec-20   Jomon   453.74
28-Dec-20   Jore    384.67

共 (1) 个答案

  1. # 1 楼答案

    我认为您应该根据filter()方法作为参数提供的谓词(条件)过滤流

    如果您需要筛选字符串流并仅返回以“n”开头的字符串

    strFlux.filter(s->s.startsWith("n")).log();
    

    如果字符串的长度大于4,则将其长度作为流的元素返回

    strFlux.filter(s -> s.length() > 4).map(s->s.length()).log(); //Now it will be a Flux<Integer>