[英]Adding elements to an ArrayList from another class
我只需要這個基本代碼,我需要幫助將員工數據添加到另一個類的ArrayList。 我只是編寫這段代碼以准備作業,所以不要過多地抨擊我的代碼。 從本質上講,我將需要添加員工元素並最終刪除它們。 但是現在,我只需要幫助將元素添加到我的其他Employee類中。 =]
public class main {
private static Employee employee;
public static void main(String[] args) {
employee = new Employee(10,10);
System.out.println(employee.toString());
}
}
...............
import java.util.ArrayList;
public class Employee {
public int employeeNum;
public double hourRate;
ArrayList<Employee> Employee = new ArrayList<>();
public Employee(int employeeNum, double hourRate){
this.employeeNum = employeeNum;
this.hourRate = hourRate;
}
public String toString(){
return ""+employeeNum+hourRate;
}
}
簡單示例 -
package com;
import java.util.ArrayList;
public class TestPage{
public static void main(String[] args){
Employee emp1, emp2;
emp1 = new Employee();
emp2 = new Employee();
emp1.setName("MAK");
emp2.setName("MICHELE");
emp1.setAddress("NY");
emp2.setAddress("WY");
//and keep putting other information like this
ArrayList<Employee> employee = new ArrayList<Employee>();
employee.add(emp1);
employee.add(emp2);
System.out.println("emp1 name is : " + employee.get(0).getName());
System.out.println("emp2 name is : " + employee.get(1).getName());
System.out.println("emp1 address is : " + employee.get(0).getAddress());
System.out.println("emp2 address is : " + employee.get(1).getAddress());
}
}
class Employee{
String name, address;
int age, salary;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
看起來你所要求的是基於一名雇員有子員工,結構上可能代表一個等級(一些評論者似乎忽略了這一點)。 但這是我的一個假設。 基於這個假設。
從主要類的結構開始的一些反饋:
public class main {
public static void main(String[] args) {
Employee employee = new Employee(10,10);
System.out.println(employee.toString());
}
}
在我看來,沒有理由為該根員工實例提供靜態實例變量。 您應該盡可能地限制變量的范圍。 看起來它很可能在main()方法的范圍內。
public class Employee {
public int employeeNum;
public double hourRate;
ArrayList<Employee> employees= new ArrayList<>();
public Employee(int employeeNum, double hourRate){
this.employeeNum = employeeNum;
this.hourRate = hourRate;
}
public String toString(){
return ""+employeeNum+hourRate;
}
public ArrayList<Employee> getEmployees() {
return this.employees;
}
}
為arraylist員工或employeeList命名可能更好。 在這種情況下我和員工一起去,因為這個慣例是可取的。
並且就您的問題而言,ArrayList是通過引用傳遞的,因此您只需為子員工列表(員工)添加一個getter方法。
要從主要方法添加員工,您可以執行類似的操作
Employee rootEmployee = new Employee(5, 10.0);
rootEmployee.getEmployees().add(new Employee(6, 5.0));
或者你可以像這樣向Employee添加一個額外的方法:
public void addEmployee(Employee e) {
employees.add(e);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.