iterator移除元素
移除list的某些元素
demo
/**
* 搜索
*/
public String search(WhiteScreenSearchRequest request, AccountShort account) {
try {
String url = api_uri + "/white-screen/search";
String cid = account.getClientId();
request.setCid(cid);
boolean wxSearch = request.isWxSearch();
request.setSource(null);
String context = GsonUtils.toJson(request);
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", CONTENT_TYPE_JSON);
headers.put("cid", cid);
headers.put("token", account.getClientToken());
String responseBody = HttpRequestUtils.postResult(url, WHITE_SCREEN_API_GATEWAY_TITLE, context, CONTENT_TYPE_JSON, headers);
if (StringUtils.hasText(responseBody)) {
if (wxSearch) {
/*
* 微信小程序搜索 搜索条数超过100条,则只返回100条
*/
JsonObject response = new JsonParser().parse(responseBody).getAsJsonObject();
JsonElement status = response.get("status");
if (status != null && status.getAsInt() == 0) {
JsonArray recommendations = response.getAsJsonArray("recommendations");
logger.info("white screen search, result size: {}, source: weixin search.", recommendations == null ? 0 : recommendations.size());
if (recommendations != null && recommendations.size() > 100) {
// 截取0-100条数据返回给前端
Iterator<JsonElement> iterator = recommendations.iterator();
int i = 0;
while (iterator.hasNext()) {
iterator.next();//next()取出元素
if (i >= 100) {
iterator.remove(); //remove方法会删除使用next()方法返回 的元素
}
i++;
}
}
}
return response.toString();
}
return responseBody;
}
} catch (Exception e) {
e.printStackTrace();
logger.info("White screen order search exception [{}]", e);
}
return null;
}