Java 程序将所有数据作为对象数组访问
数组是一种线性数据结构,用于存储具有相似数据类型的元素组。我们可以创建一个具有原始数据类型的数组,并且由于类被视为用户定义的数据类型,因此也可以创建对象数组。
在本文中,我们将讨论对象数组,并将创建 Java 程序将所有数据作为对象数组访问。
对象数组或对象数组
对象数组实际上包含对象的引用变量,即存储在对象数组中的元素是引用类型。我们遵循相同的语法来创建原始数组和对象数组。但是,在对象数组的情况下,我们使用类名而不是原始数据类型。
原始数组的语法
Data_Type[] nameOfarray; // 声明 或者, Data_Type nameOfarray[]; // 声明 或者, // 带大小的声明 Data_Type nameOfarray[] = new Data_Type[sizeofarray]; // 声明和初始化 Data_Type nameOfarray[] = {用逗号分隔的值};
实例
String[] item = new String[5];
在上面的例子中,我们创建了一个可以存储 5 个字符串元素的字符串数组。
对象数组的语法
Class_name objectArray[]; // 声明 或者, // 声明和实例化 Class_name objectArray[] = new Class_name[sizeofarray];
实例
Cart[ ] obj = new Cart[5];
在上面的例子中,我们创建了一个对象数组,可以存储 5 个 Cart 类的对象。我们使用类名而不是原始数据类型。
请记住,当我们声明和初始化对象数组时,它不会自动为元素创建对象,而是我们需要为每个元素单独创建对象。
在实例化对象数组后,我们需要用值初始化数组的元素。在这种情况下,对象就是元素。传递值的一种方法是使用类的构造函数,或者我们可以创建多个对象,然后将它们传递给另一个对象数组。
语法
arrayObject_name[index] = new 构造函数_name( values ); 或者, arrayObject_name[index] = object_name;
我们将在下一节中看到示例。
Java 程序以对象数组的形式访问所有数据
示例 1
在下面的示例中,我们将创建一个对象数组并使用构造函数用值初始化它。
class Cart { String item; double price; Cart(String item, int price) { // 构造函数 this.item = item; this.price = price; } } public class Main { public static void main(String[] args) { Cart[ ] obj = new Cart[5]; // 创建对象数组 // 将值传递给数组对象 obj[0] = new Cart("Rice", 59); obj[1] = new Cart("Milk", 60); obj[2] = new Cart("Bread", 45); obj[3] = new Cart("Peanut", 230); obj[4] = new Cart("Butter", 55); System.out.println("Accessing data as Object Array: "); int i = 0; // 循环变量的初始化 while(i < obj.length) { // 迭代数组对象 System.out.println("Item: " +obj[i].item + ", " + "Price: " +obj[i].price); // to print the values i++; // 增加循环变量 } } }
输出
Accessing data as Object Array: Item: Rice, Price: 59.0 Item: Milk, Price: 60.0 Item: Bread, Price: 45.0 Item: Peanut, Price: 230.0 Item: Butter, Price: 55.0
在上面的例子中,我们创建了类"Cart"及其构造函数"Cart",该构造函数接受两个参数"item"和"price"。在主方法中,我们创建了类"Cart"的大小为 5 的对象"obj"数组。通过使用构造函数"Cart",数组元素被初始化。我们使用 while 循环来打印值。
示例 2
以下示例说明了以对象数组形式访问数据的另一种方法。
class Cart { String item; double price; } public class Arrayobj { public static void main(String []args) { // 初始化变量的值 Cart c1 = new Cart(); // 对象 1 c1.item = "Rice"; c1.price = 59; Cart c2 = new Cart(); // 对象 2 c2.item = "Milk"; c2.price = 60; Cart c3 = new Cart(); // 对象 3 c3.item = "Bread"; c3.price = 45; Cart obj[] = new Cart[3]; // 对象数组 // 将对象传递给对象数组 obj[0] = c1; obj[1] = c2; obj[2] = c3; for(int i = 0; i < obj.length ; i++ ) { System.out.println("Item: " +obj[i].item + ", " + "Price: " +obj[i].price); } } }
输出
Item: Rice, Price: 59.0 Item: Milk, Price: 60.0 Item: Bread, Price: 45.0
在上面的例子中,我们创建了类"Cart"及其三个对象"c1"、"c2"、"c3"。我们还创建了类"Cart"的大小为 3 的对象"obj"数组。通过使用对象,数组的元素被初始化。我们使用 for 循环来打印值。
结论
在本文中,我们了解了原始数组和对象数组之间的相似之处和不同之处。借助两个 Java 程序,我们讨论了如何以对象数组的形式访问数据。