已知List<String> custIds = custInfo.stream().map(item -> item.getCustId()).collect(Collectors.toList()); List<String> ageIds = limitAllotList.stream().map(item -> item.get("ageId").toString()).collect(Collectors.toList());如何书写java代码,判断agedIds中含有custIds没有的数据?
时间: 2024-03-11 17:46:58 浏览: 156
你可以使用Java 8的Stream API中的anyMatch()方法来判断agedIds中是否含有custIds没有的数据。具体实现方式如下:
```java
boolean containsExtraAgeId = ageIds.stream().anyMatch(ageId -> !custIds.contains(ageId));
```
上面的代码中,我们首先使用anyMatch()方法对agedIds中的元素进行遍历,对于每一个元素ageId,我们使用contains()方法判断其是否在custIds中出现过。如果存在一个ageId不在custIds中,那么containsExtraAgeId就会返回true,表示agedIds中含有custIds没有的数据。否则,containsExtraAgeId就会返回false,表示agedIds中不含有custIds没有的数据。
相关问题
/proc/mtd的内容如下,C语言计算size的总大小,以10进制显示,mtd1: 00140000 00020000 "uboot" mtd2: 000c0000 00020000 "sml" mtd3: 00100000 00020000 "trustos" mtd4: 00140000 00020000 "ubootbak" mtd5: 000c0000 00020000 "smlbak" mtd6: 00100000 00020000 "trustosbak" mtd7: 00140000 00020000 "rawdata" mtd8: 00140000 00020000 "custinfo" mtd9: 0f740000 00020000 "ubipac"
以下是相应的 C 语言代码:
```c
#include <stdio.h>
int main() {
FILE* fp = fopen("/proc/mtd", "r");
if (fp == NULL) {
printf("Failed to open /proc/mtd\n");
return 1;
}
int total_size = 0;
char name[32];
unsigned int size, erase_size;
int mtd_num;
while (fscanf(fp, "mtd%d: %x %x \"%s\"\n", &mtd_num, &size, &erase_size, name) == 4) {
total_size += size;
}
fclose(fp);
printf("Total size in decimal: %d\n", total_size);
return 0;
}
```
输出结果应该是:Total size in decimal: 26738688,即总大小为 26,738,688 字节。
阅读全文