【发布时间】:2021-10-09 01:23:06
【问题描述】:
长话短说我解析了来自here的所有json 到对象列表中。但是我在尝试找到特定对象时遇到了麻烦。对于在线搜索列表的所有示例,我似乎无法获得它。
我要求用户在 int checkId 和 checkUserId 中输入一个数字,然后进行比较。如果匹配,则应打印出标题。
Iterator < Post > iter = posts.iterator();
while (iter.hasNext()) {
if (Objects.equals(iter.next().getUserId(), checkUserId)) {
System.out.println("found UserId");
if (Objects.equals(iter.next().getId(), checkId)) {
System.out.println("found Id");
//prints the title of object
}
}
}
然后我尝试使用流
List<Post> result = posts.stream()
.filter(title -> checkId.equals(getId()))
.findAny()
.orElse(null);
我从这个好人那里克隆了所有代码。 https://github.com/danvega/httpclient-tutorial
【问题讨论】:
-
将
iter.next()保存在一个变量中,不要调用两次,每次调用都会移动光标!
标签: java json list stream iterator