我收集了一些东西。例如:
面包
奶酪
焦炭
焦炭
奶酪
薯片
我要它打印出清单的浓缩版。预期结果:
1 x面包
2份奶酪
2杯可乐
1 x薯片
我一直在用嵌套在for循环中的for循环来处理它。但我似乎没法让它发挥作用。
item类包含两个变量;项目名称和价格。
我已经成功地让循环计算总数,输出总值,并将每个项作为字符串输出。但我就是做不到。
我试着写下面的伪代码来帮助我,但我还是被卡住了。
for each item in list
check item does not equal item currently being checked
if item match
then add one to item (quantity?) and delete duplicate element.
else continue search.
我所能想到的是,我需要使用嵌套在for循环中的while循环,并可能在某个地方添加一个新字段来计算数量。
2条答案
按热度按时间pepwfjgg1#
输出:
{薯片=1,可乐=2,奶酪=2,面包=1}
Map将键与值相关联。你用钥匙把东西放进去,然后用钥匙把它们拿出来。Map上的钥匙是独一无二的。在本例中,键是项,值是该项被看到的次数。我们遍历项目列表。对于每一件物品,我们都会从Map上得到它的数量(如果这是我们第一次为该项创建一个新的0计数。)我们增加该项的计数,并将其放回Map中,然后继续,直到遍历列表为止。
xpcnnkqh2#
下面是如何使用java 8流实现完全相同的功能: