我想根据两个不同列表中的单词创建一个句子。就像上面的例子:
“列表1w1列表2w1列表1w2列表2w2列表1w3列表2w3 ...”
我知道如何使用for循环,但是我想使用流。可能吗?
我当前的解决方案:
StringBuilder result = new StringBuilder();
for(int i=0; i<doses.size(); i++)
result.append(String.format("%s %s<br>", list1.get(i), list2.get(i)));
Run Code Online (Sandbox Code Playgroud) 我有简单对象的列表:
private String unit;
private Double value;
Run Code Online (Sandbox Code Playgroud)
列表看起来像这样:
f, 1.0;
ml, 15.0;
g, 9.0
Run Code Online (Sandbox Code Playgroud)
我创建了一个简单的函数,希望将这些值分组并以unit为键将它们放入地图,并将对象列表作为值,但是我想像在原始列表中那样保存顺序。这是我目前的解决方案:
myList.stream()
.collect(groupingBy(MyObject::getUnit));
Run Code Online (Sandbox Code Playgroud)
但是之后,我的地图按字母顺序排序:f,g,ml,而不是f,ml,g。有没有其他分组方法可以解决?