Java 如何组织不同类型的数组?
嗨 我是Java新手,正在尝试弄清楚如何将这些数据推入数组(6行3列) 之后,我将从最后一列中提取数字进行数学计算 这是我的密码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
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
对象。