Реализация экземпляров класса - PullRequest
0 голосов
/ 04 мая 2018

Я довольно новичок в программировании (примерно один год), и я пришел к логическому пробелу. Скажем, я строил базу данных сотрудников: как бы я мог создать экземпляры сотрудников без жесткого кодирования employee1, employee2 и т. Д.

Мне предложили использовать массив, но в Java массив должен иметь заданную длину, поэтому я не совсем уверен, как этого добиться. Любая помощь будет отличной! Матф

Редактировать: Спасибо за помощь всем. Я не знал о типе ArrayList!

Ответы [ 4 ]

0 голосов
/ 04 мая 2018

Создайте класс для хранения информации о сотруднике.

Employee.java

public class Employee {
    String firstName;
    String lastName;
    String deptName;

    public Employee() {
    }

    public Employee(String firstName, String lastName, String deptName) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.deptName = deptName;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    @Override
    public String toString() {
        return "Employee{" +
               "firstName='" + firstName + '\'' +
               ", lastName='" + lastName + '\'' +
               ", deptName='" + deptName + '\'' +
               '}';
    }
}

Пример кода для создания нескольких сотрудников и их печати

Employees.java

import java.util.ArrayList;
import java.util.List;

public class Employees {

    public static void main(String[] args) {
        List<Employee> employeeList = new ArrayList<>();

        employeeList.add(new Employee("FN-1","LN-1","Dept-1"));
        employeeList.add(new Employee("FN-2","LN-2","Dept-2"));
        employeeList.add(new Employee("FN-3","LN-3","Dept-3"));

        //loop
        for (int i = 4; i < 8; i++) {
            employeeList.add(new Employee("FN-" + i, "LN-" + i, "Dept-" + i));
        }

        //print
        employeeList.forEach(System.out::println);
    }
}

Выход:

Employee{firstName='FN-1', lastName='LN-1', deptName='Dept-1'}
Employee{firstName='FN-2', lastName='LN-2', deptName='Dept-2'}
Employee{firstName='FN-3', lastName='LN-3', deptName='Dept-3'}
Employee{firstName='FN-4', lastName='LN-4', deptName='Dept-4'}
Employee{firstName='FN-5', lastName='LN-5', deptName='Dept-5'}
Employee{firstName='FN-6', lastName='LN-6', deptName='Dept-6'}
Employee{firstName='FN-7', lastName='LN-7', deptName='Dept-7'}
0 голосов
/ 04 мая 2018

ArrayLists могут меняться в размере. Вот простой цикл для добавления 20 объектов в массив List:

ArrayList<Object> array = new ArrayList<>();
for(int i =0; i < 20; i ++) {
    array.add(new Object());
}

Это простой способ создать множество объектов одновременно, и вам не нужно указывать определенный размер, так что вы можете легко изменить, сколько их содержится в ArrayList

0 голосов
/ 04 мая 2018

Используйте ArrayList (в этом случае не нужно указывать длину списка)

List<Employee> employees = new ArrayList<>();
while (resultSet.next()) {
    Employee employee = new Employee();
    employee.setId(resultSet.getInt("id"));
    employee.setFirstname(resultSet.getString("firstname"));
    .....
    employees.add(employee);
}
0 голосов
/ 04 мая 2018

Вы можете использовать ArrayList типа Employee

https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

...