Java中两个变量可以引用同一个ArrayList吗?
Java中的 ArrayList 类基本上是一个可调整大小的数组,即它可以根据我们添加到它的值动态地增长和缩小大小。它存在于Java.util 包中。
句法:
ArrayList list = new ArrayList<>();
Java中的ArrayList可以在'new'关键字的帮助下实例化一次,并且可以被各种对象/变量引用。
上图显示了对象'list'如何指向内存中的ArrayList。现在让我们看看如何让另一个对象指向上面实例化的同一个 ArrayList。
语法:两个变量引用同一个 ArrayList:
ArrayList secondList = list;
现在,当将“list”分配给“secondList”时,“secondList”也开始指向内存中的同一个 ArrayList。注意这里只是创建一个新实例。现在,为了更好地理解,让我们深入研究代码并查看一些示例。
下面是问题陈述的实现:
Java
// Java program to show how two objects can
// refer to same ArrayList in Java
import java.util.ArrayList;
public class GFG {
public static void main(String[] args)
{
// Creating an ArrayList of Integer type in Java
ArrayList list = new ArrayList<>();
// Creating a new ArrayList object and making it
// refer to the first ArrayList(list)
ArrayList secondList = list;
// Inserting some Integer values to the
// arrayList using list variable/object
list.add(17);
list.add(10);
list.add(1);
list.add(33);
list.add(2);
// ArrayList after insertions : [17, 10, 1, 33, 2]
// Displaying the ArrayList
System.out.print("ArrayList after insertions: ");
display(list);
// Modifying the ArrayList using secondList
// Removing element from index 0
secondList.remove(0);
// Inserting Integer variables
secondList.add(51);
secondList.add(99);
// ArrayList after modifications using
// secondList: [10, 1, 33, 2, 51, 99]
// Displaying the ArrayList
System.out.print(
"ArrayList after modifications using secondList: ");
display(list);
}
// Function to display an ArrayList
public static void display(ArrayList list)
{
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + " ");
}
System.out.println();
}
}
输出
ArrayList after insertions: 17 10 1 33 2
ArrayList after modifications using secondList: 10 1 33 2 51 99