相关疑难解决方法(0)

Java,使用Iterator搜索ArrayList并删除匹配的对象

基本上,用户提交Iterator在ArrayList中搜索的String.找到时,Iterator将删除包含String的对象.

因为这些对象中的每一个都包含两个字符串,所以我发现将这些行写成一个就很麻烦了.

Friend current = it.next();
String currently = current.getFriendCaption();
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

java iterator foreach-loop-container

7
推荐指数
1
解决办法
6万
查看次数

在一个ArrayList中使用两个迭代器

编辑:感谢您的所有提示回复.现在我看到作业不起作用.从另一个线程我读到,Java中的迭代器比C++中的迭代器强大得多.请问为什么在Java中使用iterator?只是为了取代"for"循环?谢谢.

一些说明:

  • 第二个迭代器应该从第一个迭代器的位置开始.
  • 我尝试从头开始查看有序列表,在列表中找到一些具有与aItr指向的属性类似的对象.

我不介意使用两个"for"循环,但我知道Java对所有这些库都非常强大.我只是好奇是否有比两个"for"循环更好的方法.谢谢.

嗨,

我一直在使用C++,但我是Java的新手,所以请耐心等待.我尝试使用两个迭代器遍历ArrayList.第一个迭代器遍历列表,第二个迭代器从第一个迭代器指向的位置开始,一直到列表的末尾.以下代码是我想要做的(虽然可能无效):

.......; //initialize aList here ......
Iterator aItr = aList.iterator();
while(aItr.hasNext()){
     int a = aItr.next();
     Iterator bItr = aItr; //-----> is it valid? Any bad consequence?
     while (bItr.hasNext()){
         ............; //do stuff
     }
}
Run Code Online (Sandbox Code Playgroud)

将一个迭代器分配给另一个迭代器是否有效?如果没有,那么做我想做的最好的方法是什么?谢谢.

我知道它在C++中有效,但对Java不确定,我搜索了很多,但所有结果都使用迭代器来打印一些东西.非常感谢您的帮助.

java iterator

4
推荐指数
2
解决办法
1万
查看次数

使用迭代器从列表中删除条目

我需要编写一个简单的函数来删除List包含该类对象的所有条目Elem.我写了这个函数removeAllElements,但是如果它的大小List<Elem>大于1 则它不起作用.

public class Test {

public static void main(String[] args) {
        Work w = new Work();
        w.addElement(new Elem("a",new Integer[]{1,2,3}));
        w.addElement(new Elem("b",new Integer[]{4,5,6}));

        w.removeAllElements(); // It does not work for me.
    }
}    

public class Work {

    private List<Elem> elements = new ArrayList<Elem>();

    public void addElement(Elem e) {
        this.elements.add(e);
    }

    public void removeAllElements() {
        Iterator itr = this.elements.iterator(); 
        while(itr.hasNext()) {
            Object e = itr.next();
            this.elements.remove(e);
        }
    }

}

public class Elem { …
Run Code Online (Sandbox Code Playgroud)

java list arraylist

3
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×3

iterator ×2

arraylist ×1

foreach-loop-container ×1

list ×1