如果我在 Java 中有一个对象数组列表,那么底层实现真的只是一个对象引用数组吗?我正在创建这个方法:
//method returns all combinations of Objects
public ArrayList<ArrayList<Object>> getAllCombinations(ArrayList<Object> allObjects){
}
当我开始考虑这个问题时,我想知道我是否可以返回一个ArrayList<ArrayList<Integer>>
整数在 allObjects 中的位置(本质上认为这会大大减少内存的使用)。但是后来我开始认为,数组实现的每个值都只是指向 中对象的内存位置,并且数组并没有为我正在创建的每个 ArrayList 创建新对象(这肯定会使用更多内存)。所以实际上,如果我只是实现我上面提到的方法,它会使用大约相同的内存,对吧?
我想我需要更好地理解Java的内存分配......