Java:时间复杂度getMethod()

Java: Time complexity getMethod()

我有一个 class 和一个 getAvailableRobot (ArrayList) 方法,想知道该方法的时间复杂度是多少。我知道如果 available 只是一个 int 它将是 O(1),但是因为它是一个 ArrayList,它仍然是 O(1),还是 return 一个新列表迭代器的帮助使它成为 O(n)?

public class Robot {
    
    protected List<Robot> available;
    
    
    public List<Robot> getAvailableRobots(){
        return available;
    }
}

我基本上要求的是另一种方法中这一行的运行时间:

List<Robot> newList = getAvailableRobots();

当您 return 这样的集合时,它不会被复制,您只是 return 对同一对象的引用。换句话说,这个方法的执行时间不受列表大小的影响,所以ot也会有O(1)的时间复杂度。