以下是一个用 Java 的 Stream API 实现对 HashSet<Object> 进行过滤和计数的示例代码:...

这段Java代码展示了如何使用StreamAPI对HashSet进行操作。首先创建了一个HashSet,然后通过stream()方法将其转换为Stream。接着,运用filter()方法筛选出属性为value的元素,并用count()方法计算符合条件的元素数量。

以下是一个用 Java 的 Stream API 对 HashSet 进行过滤和计数的示例代码:
HashSet<Object> set = new HashSet<>();
// 向 set 中添加元素

long count = set.stream()
               .filter(e -> e.getProperty().equals("value"))
               .count();

这段代码使用了 Java 8 中的 Stream API。它首先将 HashSet 转换为一个 Stream,然后使用 filter

for (Map<String,Object> map : dataList) { Date rq = DateUtils.parseDate(map.get("rq")); int rkck = Convert.toInt(map.get("rkck")); Long brid = Convert.toLong(map.get("brid")); Date rkrq = DateUtils.parseDate(map.get("rkrq")); Date rangeBegin, rangeEnd; String dateStr; switch (tjjd) { case 1: dateStr = DateUtils.parseDateToStr("yyyy年", rq); rangeBegin = DateUtils.getFirstDayOfYear(rq); rangeEnd = DateUtils.getLastDayOfYear(rq); break; case 2: dateStr = DateUtils.parseDateToStr("yyyy年MM月", rq); rangeBegin = DateUtils.getFirstDayOfMonth(rq); rangeEnd = DateUtils.getLastDayOfMonth(rq); break; case 4: int jidu = DateUtils.getMonth(rq)/3 +1; int nian = DateUtils.getYear(rq); dateStr = nian + "年" + jidu + "季度"; rangeBegin = DateUtils.getFirstDayOfQuarter(nian, jidu); rangeEnd = DateUtils.getLastDayOfQuarter(nian, jidu); break; default: dateStr = DateUtils.parseDateToStr("yyyy年MM月dd日", rq); rangeBegin = DateUtils.getFirstDate(rq); rangeEnd = DateUtils.getLastDate(rq); break; } String finalDateStr = dateStr; List<Map<String,Object>> childList = result.stream() .filter(stringObjectMap -> stringObjectMap.get("tj_date").toString().equals(finalDateStr)) .collect(Collectors.toList()); if (childList.isEmpty()) { Map<String,Object> rowMap = new HashMap<>(); rowMap.put("tj_date", dateStr); rowMap.put("rs_before", 0); rowMap.put("rs_in", (rkck == 1) ? 1 : 0); rowMap.put("rs_out", (rkck == 2) ? 1 : 0); // 增加【入科未出科】 rowMap.put("rs_in_no_out", (rkck == 3) ? 1 : 0); rowMap.put("rs_after", 0); rowMap.put("rangeBegin", rangeBegin); rowMap.put("rangeEnd", rangeEnd); // 存放入科出科的病人信息列表 List<Map<String,Object>> rkInfoList = new LinkedList<>(); List<Map<String,Object>> ckInfoList = new LinkedList<>(); // 入科未出科 List<Map<String,Object>> ckNoCkInfoList = new LinkedList<>(); if (rkck == 1) { Map<String, Object> patlistDetail = getPatDetail(brid,Convert.toInt(para.getOrDefault("xtsb",1))); Map<String,Object> patlistDetail1 = new HashMap<>(patlistDetail); patlistDetail1.replace("rkrq",rkrq); rkInfoList.add(patlistDetail1); }else if (rkck == 2){ Map<String, Object> patlistDetail = getPatDetail(brid,Convert.toInt(para.getOrDefault("xtsb",1))); Map<String,Object> patlistDetail1 = new HashMap<>(patlistDetail); patlistDetail1.replace("rkrq",rkrq); ckInfoList.add(patlistDetail1); } else if (rkck == 3) { Map<String, Object> patlistDetail = getPatDetail(brid,Convert.toInt(para.getOrDefault("xtsb",1))); Map<String,Object> patlistDetail1 = new HashMap<>(patlistDetail); patlistDetail1.replace("rkrq",rkrq); ckNoCkInfoList.add(patlistDetail1); } rowMap.put("rkInfoList",rkInfoList); rowMap.put("ckInfoList",ckInfoList); rowMap.put("rkNoCkInfoList",ckNoCkInfoList); result.add(rowMap); } else { Map<String,Object> rowMap = childList.get(0); if (rkck == 1) { rowMap.replace("rs_in", Convert.toInt(rowMap.getOrDefault("rs_in", 0)) + 1); List<Map<String,Object>> rkInfoList = (List) rowMap.get("rkInfoList"); Map<String, Object> patlistDetail = getPatDetail(brid,Convert.toInt(para.getOrDefault("xtsb",1))); Map<String,Object> patlistDetail1 = new HashMap<>(patlistDetail); patlistDetail1.replace("rkrq",rkrq); rkInfoList.add(patlistDetail1); } else if (rkck == 2){ rowMap.replace("rs_out", Convert.toInt(rowMap.getOrDefault("rs_out", 0)) + 1); List<Map<String,Object>> ckInfoList = (List) rowMap.get("ckInfoList"); Map<String, Object> patlistDetail = getPatDetail(brid,Convert.toInt(para.getOrDefault("xtsb",1))); Map<String,Object> patlistDetail1 = new HashMap<>(patlistDetail); patlistDetail1.replace("rkrq",rkrq); ckInfoList.add(patlistDetail1); } else if (rkck == 3) { rowMap.replace("rs_in_no_out", Convert.toInt(rowMap.getOrDefault("rs_in_no_out", 0)) + 1); List<Map<String,Object>> ckNoCkInfoList = (List) rowMap.get("rkNoCkInfoList"); Map<String, Object> patlistDetail = getPatDetail(brid,Convert.toInt(para.getOrDefault("xtsb",1))); Map<String,Object> patlistDetail1 = new HashMap<>(patlistDetail); patlistDetail1.replace("rkrq",rkrq); ckNoCkInfoList.add(patlistDetail1); } } }现在rs_inrs_out统计的是人次,我现在想统计人数,定义为rkrsckrs,如何改JAVA
最新发布
08-02
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值