遍历对象列表并为每个对象运行一个函数-Java

遍历对象列表并为每个对象运行一个函数-Java,java,arrays,list,Java,Arrays,List,我想知道如何为数组(或其他列表类型)中的每个对象运行特定函数的最简单方法 我的目标是能够创建一个对象列表,并让每个对象在通过迭代器时运行一个特定的函数 我在arraylist上尝试了for循环 for (int i = 0; i < testList.size(); i++) { this = textList.get(i); this.exampleFunction(); } for(int i=0;i

我想知道如何为数组(或其他列表类型)中的每个对象运行特定函数的最简单方法

我的目标是能够创建一个对象列表,并让每个对象在通过迭代器时运行一个特定的函数

我在arraylist上尝试了for循环

for (int i = 0; i < testList.size(); i++)
    {
        this  = textList.get(i);
        this.exampleFunction();
    }
for(int i=0;i

但这给了我一个“变量预期”错误

假设您使用的是Java 8+,并且您有一个
集合
,您可以调用并对其执行
forEach
。像

testList.stream().forEach(TypeInList::function);
您当前的方法是尝试使用
执行无法执行的操作。它可以像

for (int i = 0; i < testList.size(); i++)
{
    TypeInList that = testList.get(i); // this is a reserved word.
    that.function();
}

假设您使用的是Java 8+,并且您有一个
集合
,您可以调用并对其执行
forEach
。像

testList.stream().forEach(TypeInList::function);
您当前的方法是尝试使用
执行无法执行的操作。它可以像

for (int i = 0; i < testList.size(); i++)
{
    TypeInList that = testList.get(i); // this is a reserved word.
    that.function();
}

迭代列表有多种方法,但我个人认为最简单的方法是:

for(int i=0; i<list.size(); i++){
    int x = list1.get(i);
    int y = list2.get(i);
}
假设您的列表包含字符串对象,例如:

List<String> list = new ArrayList();
list.add("Hello");
list.add("World");

for(String current : list){
    System.out.println(current);
}
这种方法不依赖于索引(正如您在问题中如何使用它),因此我发现它很容易用于迭代单个列表

然而,缺点是,如果您有两个单独的列表要遍历,那么缺少索引会使它变得更加复杂。迭代多个列表的更简单方法是使用传统方法,如下所示:

for(int i=0; i<list.size(); i++){
    int x = list1.get(i);
    int y = list2.get(i);
}

for(int i=0;i迭代列表有多种方法,但我个人发现最简单的方法如下:

for(int i=0; i<list.size(); i++){
    int x = list1.get(i);
    int y = list2.get(i);
}
假设您的列表包含字符串对象,例如:

List<String> list = new ArrayList();
list.add("Hello");
list.add("World");

for(String current : list){
    System.out.println(current);
}
这种方法不依赖于索引(正如您在问题中如何使用它),因此我发现它很容易用于迭代单个列表

但是缺点是,如果您有两个单独的列表要遍历,则缺少索引会使其变得更复杂。遍历多个列表的更简单方法是使用传统方法,如下所示:

for(int i=0; i<list.size(); i++){
    int x = list1.get(i);
    int y = list2.get(i);
}

for(int i=0;iA loop?(
for
loop)@gblodget我在完成之前意外提交了一个for循环,我尝试了一个for循环
Foo-Foo=textList.get(i);Foo.function();
这是在什么上下文中?这是什么
this.function
?这.function()?一个循环(
for
loop)@GBlodgett我在完成之前意外提交的,我尝试了一个for循环
Foo-Foo=textList.get(I);Foo.function();
这是在什么上下文中?这是什么
this.function
?this.function()?不需要
stream()
.Iterable(因此每个集合)有。这是编译的,但当我试图到达执行此节的部分时它崩溃了。崩溃的方式是什么?有堆栈跟踪吗?某种错误消息?@DawoodibnKareem我太没经验了,不知道堆栈跟踪是什么,也没有错误消息。我实际上已经缩小了范围,他的示例很好,是我自己的代码出错了。如何我是否将对象作为构造函数的一部分添加到列表中?使用.add(这)是导致崩溃的原因。不需要
stream()
.Iterable(因此每个集合都需要)有。这是编译的,但当我试图到达执行此节的部分时它崩溃了。崩溃的方式是什么?有堆栈跟踪吗?某种错误消息?@DawoodibnKareem我太没经验了,不知道堆栈跟踪是什么,也没有错误消息。我实际上已经缩小了范围,他的示例很好,是我自己的代码出错了。如何是否将对象作为构造函数的一部分添加到列表中?使用.add(这)是导致崩溃的原因。