java - 迭代器从第一个元素开始

标签 java loops iterator hashset

我想将我的集合的第一个元素称为“集合”。此时内容设置=[“1”,“2”]...当我运行以下代码时,它在iter.next()中返回“2”,是否有可能他先返回“1” ”并在下一个循环中“2”?

//Remove duplicates from array
Set set= new HashSet(Arrays.asList(leveranciers));

Iterator iter = set.iterator();

while (iter.hasNext()) {

    //for (Iterator it = set.iterator();it.hasNext();){
    PdfPTable table = GetTable(""+ iter.next());
    byte[] pdf = wdThis.wdGetAchatsIndirectController().GetPDFFromFolder("/intranetdocuments/docs/AchatsIndirect", table);
    wdThis.wdGetAchatsIndirectController().PrintPDF(pdf);
}

最佳答案

嗯,HashSet 不保留插入顺序。如果您需要,请使用 LinkedHashSet。请使用参数化版本。

关于java - 迭代器从第一个元素开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23132488/

相关文章:

java - 移除 ns2 作为默认命名空间前缀

java - 从 android 中的 ArrayList<HashMap<String, String>> 获取奇数或偶数值

java - 使用 spring mvc 中的 Display 标签将数据导出到 Excel、PDF、CSV 和 XML 的示例

python - `iter(callable, sentinel)` 仍然是 Pythonic 吗?

c++ - C++20 中的 iterator_category 和 iterator_concept 有什么区别?

java - LocalDateTime 到特定时区

javascript - 使用 for 循环检查数组

ios - 有没有办法把它变成一个 for 循环或改进它?

c++ - 在成员函数返回的 vector 上调用开始和结束

c++ - 错误 : conversion from long int to non-scalar type, 将迭代器与 null 进行比较