问题描述
List<Object[]> values = query.getResultList();
//values = [obj1,obj2,obj3]
//obj1 = "1","01";
//obj2 = "1","02";
//obj3 = "1:,"03";
Map<String,List<String>> resultMap = values.stream().collect(Collectors.groupingBy(???));
我需要将地图分组为-{“ 1”,[“ 01”,“ 02”,“ 03”]}
我看到的参考资料很少,但似乎没有任何作用。我应该用什么代替“ ???”? ?如果您还有其他需要,请发表评论。 预先感谢。
ref:
Shortcut for adding to List in a HashMap
解决方法
如果您的对象[]是字符串[]。我认为代码是这样的:
ssize_t find_short(const char *s)
{
int n = strlen(s);
int smallest = n;
int counter = 0;
for (int i = 0; i <= n; i++)
{
if (s[i] == ' ' || s[i] == '\0')
{
if (counter <= smallest)
{
smallest = (ssize_t) counter;
// <-- not here
}
counter = 0; // < -- here
}
else
counter ++;
}
return smallest;
}