如何获取数组列表中索引的大小?

How to get the size of an index in an arraylist?

我正在编写代码,大部分已经完成,只是这两行有问题,我会完成的。这样做的正确方法是什么?我想我混淆了 Arrays 和 ArrayLists,请帮忙

    private final int MAX = 100000;
    private ArrayList<Integer> adj = new ArrayList(MAX);
    private boolean[] visited = new boolean[MAX];

    private void dfsFirst(int u) {
        if (visited[u]) {
            return;
        }

        visited[u] = true;

        for (int i = 0; i < adj[u].size(); i++) {   //issue here with adj
            dfsFirst(adj[u].get(i));                //issue here with adj
        }
        s.push(u);
    }

这是我要翻译成的原始代码 Java https://www.geeksforgeeks.org/2-satisfiability-2-sat-problem/

在Kosaraju算法的reference C++ implementation中,adj必须是整数列表的数组:

vector<int> adj[MAX]; 
vector<int> adjInv[MAX]; 

因此,在Java中应该是:

private final int MAX = 100000;
private List<Integer>[] adj = new List[MAX];
private boolean[] visited = new boolean[MAX];
private Stack<Integer> s = new Stack<>();

private void dfsFirst(int u) {
    if (visited[u]) {
        return;
    }

    visited[u] = true;

    for (int i = 0; i < adj[u].size(); i++) {   // getting size of the list at `u`
        dfsFirst(adj[u].get(i));               
    }
    s.push(u);
}