java - 如何使用单个方法迭代不同对象的 ArrayList?

标签 java oop arraylist methods

我正在尝试迭代两个不同类型的 ArrayList 字段。虽然我可以为每种类型编写方法,但有没有一种方法可以仅使用单个方法来迭代它们?我似乎不太清楚是否可以将字段作为方法参数传递。在下面的代码中,方法 iteratePhrase() 应该打印任一 ArrayList 中的所有元素。其中,[...] 表示数字字母

import java.util.ArrayList;
import java.util.List;

public class Phrase {
    private List<Number> numbers;
    private List<Letter> letters;

    public Phrase() {
        numbers;
        letters;
    }

    public void iteratePhrase() {
        for (int i=0; i<[...].size(); i++)
            System.out.println([...].get(i));
    }
}

最佳答案

你可以做iteratePhrase通用,即使其采用 List<T> ;喜欢

public <T> void iteratePhrase(List<T> al) {
    for (int i = 0; i < al.size(); i++) {
        System.out.println(al.get(i));
    }
}

您还可以使用for-each像循环一样,

for (T t : al) {
    System.out.println(t);
}

无论哪种情况,您都会调用

iteratePhrase(numbers);

iteratePhrase(letters);

关于java - 如何使用单个方法迭代不同对象的 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55884268/

相关文章:

java - ArrayList toString() 方法

android - 我如何在 Android 的 Firebase 数据库中存储用户的 ArrayList?

java - statements.executeUpdate() 始终返回 1

java - 创建实例的接口(interface)应该叫什么

Javascript 从私有(private)函数修改公共(public)属性

java - 如何序列化/反序列化 (JSON) ArrayLIst<A>,它在 Java 中有一个 ArrayLIst<B> 作为字段

java - 使用状态来管理 onTouchEvent

java - 服务器-客户端 Java

java - 更新 jprogress-bar

python - 如何在python中自动创建父类的所有子对象?