public class FileHash implements Serializable { /** * id */ @TableId(type = IdType.AUTO) private Long id; /** * 主机 */ private String host; /** * 端口 */ private String port; /** * 文件全路径 */ private String fullPath; /** * 文件目录 */ private String filePath; /** * 文件名 */ private String fileName; /** * 文件哈希 */ private String fileHash; /** * 中间件 */ private String middleware; /** * 日期 */ private Date scanDate; @TableField(exist = false) private static final long serialVersionUID = 1L; }两个上述类型的List<FileHash>,将两个List主机host相等、全文件路径fullPath相等、文件哈希fileHsh不相等的元素放在新的List<FileHash> resultList中
时间: 2023-07-30 17:12:40 浏览: 212
hide:ID类型带有编组tofrom哈希,以防止将ID发送给客户端
可以使用双重循环来遍历两个List中的所有元素,然后比较相应的属性是否相等。如果主机host和全文件路径fullPath都相等,但是文件哈希fileHash不相等,则将该元素添加到新的List<FileHash> resultList中。
代码示例:
```
List<FileHash> fileList1 = ...; // 第一个List
List<FileHash> fileList2 = ...; // 第二个List
List<FileHash> resultList = new ArrayList<>();
for (FileHash file1 : fileList1) {
for (FileHash file2 : fileList2) {
if (file1.getHost().equals(file2.getHost())
&& file1.getFullPath().equals(file2.getFullPath())
&& !file1.getFileHash().equals(file2.getFileHash())) {
resultList.add(file1);
resultList.add(file2);
}
}
}
// 输出结果
for (FileHash file : resultList) {
System.out.println(file.getHost() + "," + file.getFullPath() + "," + file.getFileHash());
}
```
注意,上述代码中,我们假设主机host和全文件路径fullPath都是唯一的,因此只比较这两个属性是否相等即可。如果不唯一,需要根据实际情况进行修改。
阅读全文