private class Person {
private String name;
private boolean isSenior;
private Person(String name, boolean isSenior) {
this.name = name;
this.isSenior = isSenior;
}
public String getName() {
return name;
}
public boolean isSenior() {
return isSenior;
}
@Override
public String toString() {
return name + ": " + isSenior;
}
}
private class PersonWrapper {
private Person jrPerson;
private Person srPerson;
private PersonWrapper(Person jrPerson, Person srPerson) {
this.jrPerson = jrPerson;
this.srPerson = srPerson;
}
public Person getJrPerson() {
return jrPerson;
}
public Person getSrPerson() {
return srPerson;
}
@Override
public String toString() {
return jrPerson.toString() + "-" + srPerson.toString();
}
}
List<Person> jrPersons = new ArrayList<>();
List<Person> srPersons = new ArrayList<>();
jrList.add(new Person("John", false));
jrList.add(new Person("Paul", false));
jrList.add(new Person("Mike", false));
seniorList.add(new Person("John", true));
seniorList.add(new Person("Paul", true));
seniorList.add(new Person("Mike", true));
List<PersonWrapper> wrapperList = new ArrayList<>();
jrList.forEach(jr -> seniorList.stream().filter(sr -> jr.getName().equals(sr.getName())).map(sr -> new PersonWrapper(jr, sr)).collect(Collectors.toList()));
请帮助我实现这一点。
不要使用foreach
,而是从一开始就使用流:
List<PersonWrapper> wrapperList = jrList.stream()
.flatMap(jr -> seniorList.stream()
.filter(sr -> jr.getName().equals(sr.getName()))
.map(sr -> new PersonWrapper(jr, sr))
)
.collect(Collectors.toList());
通过使用FlatMap
,可以将一个流(stream
)扁平化为一个流(stream
)
如果您不能自己实例化WrapperList
,或者确实需要追加到它。您可以将上面的代码片段更改为以下内容:
List<PersonWrapper> wrapperList = new ArrayList<>();
jrList.stream()
.flatMap(jr -> seniorList.stream()
.filter(sr -> jr.getName().equals(sr.getName()))
.map(sr -> new PersonWrapper(jr, sr))
)
.forEach(wrapperList::add);
我正在从我的db获取数据,我想根据需要循环 我正在从我的数据库中获取对象数组,我想通过一些更改将其转换为对象 我的数据 我想把它转换成如下-:
问题内容: print_r($ samplearr)为包含3个项目的数组打印以下内容: 我想将它们放到HTML表中,所以我正在做一个foreach,但是没有达到我的期望: 正在返回: 这将是我想要的第一个输出: 要获得4722,我需要使用什么功能代替key($ item)? 问题答案: 尝试这个:
问题内容: 我知道如何使用$?检查先前执行的命令的状态,我们可以使用exit命令使该状态成为当前状态。但是对于bash中的循环,总是返回状态0,有什么办法可以使循环中断某些状态。 问题答案: 循环的状态是最后执行的命令的状态。您可以使用break中断循环,但如果中断成功,则循环状态为。但是,您可以使用子shell并退出而不是中断。换一种说法: 您也可以将循环放入函数中并从中返回一个值。
大家好,我正在尝试在while循环中创建foreach循环。在foreach循环中,我试图生成包含div的列表元素,但我有非常奇怪的输出 这是我的密码 这是我的调试器consonle中的一个图像 正如你在图片中看到的,在ul标签中只存在一个li,其余的都在ul /ul. 我的第一个想法是,将div标记放在li标记中是无效的,但如果在文件的顶部使用它,则不是这样 DOCTYPE html PUBLI
我想制作一个程序,要求用户输入订票的客户数量,读取输入的数字,执行循环以询问每个客户的年龄,并决定每个客户的单价。到目前为止,我的代码只有if-else语句: 我如何添加一个同时循环来询问每个客户的年龄?
问题内容: 我有四个foreach循环,这些循环遍历集合并根据条件进行操作。 这是我现在正在编写的代码: 主要对象(代码中的对象)来自第三方提供程序SDK,因此我无法在该部分上进行任何更改。我想问一下Stack Overflow社区是否有更好的方法来打破所有四个foreach循环。或者,如果还有其他方法可以重构此代码,使其更具可读性和可维护性。 问题答案: 在最外面的循环上使用标签,当您想跳出所有