一个java list对象集合 有重复的车辆 还有Fault Status 那个车辆有多个这个Fault Status 为2 的就取一个就行了 如果多个Fault Status 为1 为2 就取为1的
时间: 2024-05-05 21:16:07 浏览: 17
可以使用Java 8的Stream API来实现:
假设有一个List<Car> carList,其中Car类包含属性faultStatus(1或2)和其他属性:
```
List<Car> distinctCars = carList.stream()
.collect(Collectors.toMap(Car::getId, Function.identity(),
(car1, car2) -> car1.getFaultStatus() == 1 ? car1 : car2))
.values().stream()
.collect(Collectors.toList());
```
这里使用toMap()方法将车辆按照ID作为key,将Car对象作为value。当key重复时,使用mergeFunction来处理冲突,即如果两个车辆的faultStatus都为2,则只保留一个。如果两个车辆的faultStatus一个为1,一个为2,则保留faultStatus为1的车辆。
最后使用values()方法获取所有Car对象,再用toList()方法转换为List<Car>对象。得到的distinctCars就是去重后的车辆集合。
相关问题
error: protocol fault (couldn't read status): Connection reset by peer
根据引用\[1\]和引用\[2\]的描述,你遇到了在连接Android Studio时出现的错误提示"Unable to start adb server: error: protocol fault (couldn’t read status): Connection reset by peer"。这个错误通常是由于5037端口被占用所导致的。5037端口是adb默认的端口。
解决这个问题的方法是找到占用5037端口的程序,并结束该程序,然后重新启动adb。你可以使用以下命令来查找占用5037端口的进程PID:
```
netstat -aon|findstr "5037"
```
然后,使用以下命令通过PID找出进程:
```
tasklist|findstr "PID"
```
将PID替换为上一步找到的进程PID。接下来,打开任务管理器,找到该进程并结束它。最后,使用以下命令启动adb:
```
adb start-server
```
这样就应该能够解决这个问题了。希望对你有帮助!
#### 引用[.reference_title]
- *1* [Unable to start adb server: error: protocol fault (couldn't read status): Connection reset by peer](https://blog.csdn.net/luweicheng24/article/details/80798877)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [adb 连接之 error: protocol fault (couldn‘t read status): Connection reset by peer](https://blog.csdn.net/luoxuexi2020/article/details/115270708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Unable to start adb server: error: protocol fault couldn't read status: Connection reset by peer](https://blog.csdn.net/viking_xhg/article/details/82780456)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
collect2.exe: error: ld returned 1 exit status ninja: build stopped: subcommand failed.
这个错误`collect2.exe: error: ld returned 1 exit status`通常是在编译过程中出现的问题,表明链接器(ld)在执行时返回了非零的退出状态。这可能是由于多种原因导致的错误,比如缺少库文件、编译器配置错误等。
一个可能的原因是缺少必要的库文件。您可以检查编译命令中是否正确指定了所需的库文件,并确保这些库文件在正确的位置。
另一个可能的原因是编译器配置错误。您可以检查编译器的配置是否正确,包括路径设置、环境变量等。
此外,也可能是代码中存在错误或不兼容的语法,导致链接器无法成功执行。您可以检查代码中的语法错误,并确保代码与编译器版本兼容。
总之,`collect2.exe: error: ld returned 1 exit status`错误是一个广义的链接器错误,可能由多种原因引起。您可以通过检查库文件、编译器配置和代码语法来解决这个问题。如果问题仍然存在,建议您提供更多的详细信息,以便更好地帮助您解决问题。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [collect2: fatal error: ld terminated with signal 11 [Segmentation fault], core d](https://download.csdn.net/download/error0723/12013192)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [解决启动Azkaban报错问题:java.lang.NoSuchMethodError: ...](https://download.csdn.net/download/weixin_38735544/12926256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![ini-development](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)