java - 如何在迭代器中引用当前对象

标签 java iterator

我正在尝试在 TreeSet 中实现搜索方法。通过使用带有条件的迭代器,我希望能够遍历集合并打印与条件匹配的对象。然而,我现在这样做的方式是打印出后续对象而不是当前对象。 这是我目前所拥有的:

public void getDetails() {
        Iterator<Person> it = this.getPersonSet().iterator();
        System.out.println("Enter First Name");
        String first = in.next().toLowerCase();
        System.out.println("Enter Second Name");
        String last = in.next().toLowerCase();

        while (it.hasNext()) {
            if (it.next().getLast().toLowerCase().equals(last)) {
                Person p = it.next();
                System.out.println(p);
            }
        }

    }

任何帮助都会很棒

最佳答案

这就是你想要做的:

while (it.hasNext()) {
            Person p = it.next();
            if (p.getLast().toLowerCase().equals(last)) {
                System.out.println(p);
            }
        }

关于java - 如何在迭代器中引用当前对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5162383/

相关文章:

java - 带字符的整数算术

java - 整个项目的语法突出显示已损坏

java - 从集合的迭代器中获取第一项会返回一个随机值吗?

c++ - 获取返回的 multimap 迭代器的内容

C++遍历 vector 并删除匹配的字符串

Java 8 中断 forEach 与替代操作

java - Mockito.extension 未找到 JUnit 5 throw 方法

java - 避免在 Java CMS GC 中升级失败

c++ - boost::next 和 std::next 等效?

java - 对 String.format() 使用可变长度参数列表