java如何实现合并同类项
时间: 2024-01-17 18:02:35 浏览: 10
Java可以通过遍历数组或列表来实现合并同类项,具体步骤如下:
1. 定义一个HashMap来存储每个类别的项和它们的数量。
2. 遍历数组或列表,如果当前项已经存在于HashMap中,则将它的数量加1;否则将当前项加入HashMap中,数量为1。
3. 遍历HashMap,将所有数量大于1的项合并成同类项。可以新建一个列表来存储合并后的项,也可以直接在原数组或列表中修改。
下面是一个示例代码:
```java
import java.util.*;
public class MergeItems {
public static void main(String[] args) {
String[] items = {"apple", "banana", "orange", "banana", "pear", "apple"};
Map<String, Integer> counts = new HashMap<>();
for (String item : items) {
if (counts.containsKey(item)) {
counts.put(item, counts.get(item) + 1);
} else {
counts.put(item, 1);
}
}
List<String> merged = new ArrayList<>();
for (Map.Entry<String, Integer> entry : counts.entrySet()) {
String item = entry.getKey();
int count = entry.getValue();
if (count > 1) {
merged.add(count + " " + item + "s");
} else {
merged.add(count + " " + item);
}
}
System.out.println("Merged items: " + String.join(", ", merged));
}
}
```
输出结果为:
```
Merged items: 2 apples, 2 bananas, 1 orange, 1 pear
```
相关推荐
![](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)
![](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)
![](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)