我对Java8相当陌生。我需要将POJO列表按一定标准转换为group,并在UI上显示。
>
返回列表。
Children.java
private String firstName;
private String lastName;
private String school;
private String personId;
// Setters and getters.
Person.java
private String fullName;
private String address;
// Setters and Getters.
private Person convertChildToPerson(Children child) {
Person person = new Person();
person.setFullName(child.getLastName() + ", " + child.getFirstName());
..
return person;
}
...主要代码...
List<Person> personList; // Is populated by other functions.
// Connect to DB and gets the output
List<Children> childrenList = (Children) criteria.list();
for(Children children: childrenList) {
personList.add(convertChildToPerson(children));
}
return personList;
上面的FOR-LOOP不能被Java8 Streams替换吗?
List<Person> newList = childrenList.stream()
.map(this::convertChildToPerson)
.collect(Collectors.toList());
personList.addAll(newList);
甚至更短(更好),正如霍尔格所说:
childrenList.stream()
.map(this::convertChildToPerson)
.forEachOrdered(personList::add);
如何使用将多个值收集到一个列表中? 因为我对接口有完全的控制权:还是应该更改方法以返回数组而不是列表?
很抱歉这太模糊了,但代码太多了。 这是一个五卡梭哈游戏。基本上,我试图将对象添加到另一个数组列表中的数组列表中。 这是我创建玩家数组并将手类中的数组添加到其中的地方,至少我认为这就是正在发生的事情: 稍后,我尝试在循环交易中将牌添加到玩家阵列中的手牌阵列中。由于有五张牌,第一个循环进行了五次。第二个是玩家数组的长度(玩家总数),每次应该添加一张卡。 Deck类中有一个deal方法,由以下方法初始化
问题内容: [‘a’,’a’,’b’,’c’,’c’,’c’] 至 和 问题答案: x=[‘a’,’a’,’b’,’c’,’c’,’c’] >>> map(x.count,x) [2, 2, 1, 3, 3, 3] >>> dict(zip(x,map(x.count,x))) {‘a’: 2, ‘c’: 3, ‘b’: 1} >>>
我在下面使用JDK7进行了探讨
我在从一个表中插入一个列的值作为另一个表中的列时遇到了麻烦。我在col1中有一些值的表A:和另一个列等于col1值的表B。 我想把表A,col1中的其余值添加为表B中的列。请帮助我解决我的问题。我正在使用SQL server 2012。
例如,我有一个类包含name和surname字段。 我想从的中收集一个的(名字和姓氏都在一起),但似乎无法对每个列表使用两次map或无法对每个列表使用两次stream。 我做错了什么?