cod*_*der 3 java arrays android for-loop linkedhashset
我有一个包含多个值的LinkedHashSet.
LinkedHashSet<String> lhs = new LinkedHashSet<String>();
Run Code Online (Sandbox Code Playgroud)
我想迭代这组值并显示存储在集合中的项目数的前五个值.我使用for循环迭代值并显示数据,见下文:
for (String sent : lhs) {
text.append(sent);
}
Run Code Online (Sandbox Code Playgroud)
这将输出存储在LinkedHashSet中的所有值.我应该对我的代码进行哪些更改,以便仅从集合中获取前5个值.
你可以得到你的套装 Iterator
Iterator<String> it = yourSet.iterator();
Run Code Online (Sandbox Code Playgroud)
并移动到next()元素N次(假设它仍然是hasNext()元素)
int counter = 0;
while(it.hasNext() && counter++ < N){
String element = it.next();
...
}
Run Code Online (Sandbox Code Playgroud)
int i = 0;
for (String sentences : lhs) {
if (i > 4) break;
text.append(sentences);
i++;
}
Run Code Online (Sandbox Code Playgroud)
如果您有java8,那么我建议这样的事情:
yourLinkedHashSet
.stream()
.limit(5)
.forEachOrdered(text::append);
Run Code Online (Sandbox Code Playgroud)
说明:
stream() 从集合中接一个字符串limit(5) 在处理了五个元素后将停止计算forEachOrdered(...) 对每个项目采取一项行动text::append 是每个项目要执行的操作| 归档时间: |
|
| 查看次数: |
2729 次 |
| 最近记录: |