Java 如何组织不同类型的数组?

Java 如何组织不同类型的数组?,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,嗨 我是Java新手,正在尝试弄清楚如何将这些数据推入数组(6行3列) 之后,我将从最后一列中提取数字进行数学计算 这是我的密码 public class Testing { public static void main(String[] args) { Employee eh = new Employee_hour(); Employee_hour [] eh_list = new Employee_hour[6]; eh_list

我是Java新手,正在尝试弄清楚如何将这些数据推入数组(6行3列)

之后,我将从最后一列中提取数字进行数学计算

这是我的密码

public class Testing {
    public static void main(String[] args) {

        Employee eh = new Employee_hour();

        Employee_hour [] eh_list = new Employee_hour[6];
        eh_list[0] = new Employee_hour("x1", "John", 6);
        eh_list[1] = new Employee_hour("x2", "Smith", 9);
        eh_list[2] = new Employee_hour("x3", "Alex", 7);
        eh_list[3] = new Employee_hour("y1", "Peter", 8);
        eh_list[4] = new Employee_hour("y2", "Frank", 9);
        eh_list[5] = new Employee_hour("y3", "Andy", 4);
        print(eh_list);
    }

    private static void print(Employee_hour[] mass){
        for (int i = 0; i < mass.length; i++) {
            System.out.print(mass[i] + " ");
        }
        System.out.println();
    }
}
公共类测试{
公共静态void main(字符串[]args){
员工eh=新员工_小时();
员工工作时间[]员工工作时间列表=新员工工作时间[6];
EHU列表[0]=新员工工作时间(“x1”,“John”,6);
eh_列表[1]=新员工工时(“x2”,“Smith”,9);
EHU列表[2]=新员工工时(“x3”、“Alex”,7);
EHU列表[3]=新员工工时(“y1”、“Peter”,8);
eh_列表[4]=新员工工时(“y2”,“弗兰克”,9);
EHU列表[5]=新员工工时(“y3”,“安迪”,4);
打印(EHU列表);
}
私有静态无效打印(员工小时[]质量){
对于(int i=0;i
但我把它作为输出

测试。员工_hour@1a752144测试。员工_hour@7fdb04ed 测试。员工_hour@420a52f测试。员工_hour@7b3cb2c6 测试。员工_hour@4dfd245f测试。员工_hour@265f00f9


如何从最后一列中获取数字?

Java是强类型的,所以不能只创建一个接受任何类型的数组。
但是,您可以创建类型为
Object
的多维数组,并使用
java.lang.Integer
作为整数值。

另一种方法是创建一个表示表中的行的类,并为该类创建一个数组。

Java是强类型的,因此不能只创建一个接受任何类型的数组。
但是,您可以创建类型为
Object
的多维数组,并使用
java.lang.Integer
作为整数值。

另一种方法是创建一个表示表中的行的类,并为该类创建一个数组。

为什么不为记录创建一个特定的Java bean呢

class Person {
  String id;
  String name;
  int anotherNumber;
  // constructor, getters, setters
}
然后像这样使用它:

Person [] people = new Person[10];
people[0] = new Person("x1", "John", 6);
...
或者最好使用
java.util.List
而不是数组

现场访问

为了访问单独的字段,您需要将字段公开(这是一个非常糟糕的主意),并将其称为
对象\u实例.field\u name
,或者提供所谓的getter:

class Person {
  String id;
  String name;
  int anotherNumber;
  // constructor, getters, setters

  public int getAnotherNumber() {
     return anotherNumber;
  }
}
然后在打印时调用它:

for (int i = 0; i < mass.length; i++) {
    System.out.print(mass[i].getAnotherNumber() + " ");
}

为什么不为您的记录创建一个特定的Javabean呢

class Person {
  String id;
  String name;
  int anotherNumber;
  // constructor, getters, setters
}
然后像这样使用它:

Person [] people = new Person[10];
people[0] = new Person("x1", "John", 6);
...
或者最好使用
java.util.List
而不是数组

现场访问

为了访问单独的字段,您需要将字段公开(这是一个非常糟糕的主意),并将其称为
对象\u实例.field\u name
,或者提供所谓的getter:

class Person {
  String id;
  String name;
  int anotherNumber;
  // constructor, getters, setters

  public int getAnotherNumber() {
     return anotherNumber;
  }
}
然后在打印时调用它:

for (int i = 0; i < mass.length; i++) {
    System.out.print(mass[i].getAnotherNumber() + " ");
}

Array
是一个类型安全的集合,您可以使用泛型对象数组。另一种方法是使用
集合Api

数组
是一种类型安全的集合,您可以使用泛型对象数组。另一种方法是使用
收集Api

如果您想将其存储为数组用户二维数组。下面是一个示例

String[][] a2 = new String[10][5];
   for (int i=0; i<a2.length; i++) {
   for (int j=0; j<a2[i].length; j++) {
   a2[i][j] = i;
   System.out.print(" " + a2[i][j]);
   }
   System.out.println("");
   }
  }
然后将其推到列表中

User ob1=new User();
// set the values.
List<User> userList=new ArrayList<User>();
userList.add(ob1);

如果您想将其存储为数组用户二维数组。下面是一个示例

String[][] a2 = new String[10][5];
   for (int i=0; i<a2.length; i++) {
   for (int j=0; j<a2[i].length; j++) {
   a2[i][j] = i;
   System.out.print(" " + a2[i][j]);
   }
   System.out.println("");
   }
  }
然后将其推到列表中

User ob1=new User();
// set the values.
List<User> userList=new ArrayList<User>();
userList.add(ob1);

有一些方法可以将数据存储在数组中,但只能在一个数组中存储相同类型的值。例如,仅字符串、int或float。在您的情况下,您必须使用String,但不能使用String类型的变量进行任何计算,即使它包含一个数字。我建议采用maksimov描述的方法。

有一些方法可以将数据存储在数组中,但只能将相同类型的值存储在一个数组中。例如,仅字符串、int或float。在您的情况下,您必须使用String,但不能使用String类型的变量进行任何计算,即使它包含一个数字。我建议采用马克西莫夫描述的方式。

它需要是数组吗?它不是最有效的数据结构您必须使用数组还是使用其他数据结构?数据代表什么以及如何使用它?如果将数据放在对象[][]数组中,那么以后使用该数据会很麻烦。如果不必是数组,那么使用映射可能值得一看。另外请注意,您的第一个
Employee eh=new Employee_hour()不执行任何操作并且是冗余的。它是否需要是一个数组?它不是最有效的数据结构您必须使用数组还是使用其他数据结构?数据代表什么以及如何使用它?如果将数据放在对象[][]数组中,那么以后使用该数据会很麻烦。如果不必是数组,那么使用映射可能值得一看。另外请注意,您的第一个
Employee eh=new Employee_hour()什么都不做,而且是多余的。我同意这种方法,尤其是
列表
的建议。我会将
ArrayList
与泛型一起使用,这样您只能传递
Person
对象。我同意这种方法,尤其是
列表
的建议。我会将
ArrayList
与泛型一起使用,这样您只能传递
Person
对象。