Ste*_*ers 3 java foreach vector
我有这样的方法:
public void addVector(Vector myVector) {
if (myVector == null) {
return;
}
Collection<String> values = new ArrayList<>();
for (int i = 0; i < myVector.size(); i++) {
values.add(((String[]) myVector.get(i))[1]);
}
this.addItems(values);
}
Run Code Online (Sandbox Code Playgroud)
对于我的一生,我不知道该如何使用forEach子句。是否可以通过forEach循环中的索引[i]进行迭代?
如果使用增强的for循环,则不需要索引:
for (Object obj : myVector) {
values.add(((String[]) obj)[1]);
}
Run Code Online (Sandbox Code Playgroud)
当然,最好使用参数化类型(Vector<String[]>)并避免强制转换。
或者,如果您的意思是实际forEach方法:
myVector.forEach(o -> values.add(((String[]) o)[1]));
Run Code Online (Sandbox Code Playgroud)
甚至更好的是使用Streamwith collect代替forEach:
List<String> values =
myVector.stream()
.map(o -> (String[]) o)[1])
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |