Java クラスを作成しましたが、その仕組みを学ぼうとしていますArrayList
。
というトップクラスがあるとしましょうComplex
。そのクラスにはHouses
などEmployees
があり、これらはすべて別のクラスです。
作成したい場合、ArrayList
どうすればよいですか?
要素の数は動的であるため、誰かが新しい家を追加すると言うと、家に関連する質問をするそのメソッドを呼び出して、これをすべてリストに追加します。
ArrayList
タイプのオブジェクトを保持するを作成するには、次のHouse
ようにします。
ArrayList<House> houseList = new ArrayList<House>();
houseList.add(new House());
リスト内のすべてのアイテムをループするには
for(House house:houseList){
// do something with the house object
}
他の機能については、ドキュメントを参照してください。
これを試して。主な執筆はあなたに任せます;)
import java.util.ArrayList;
public class Complex {
private ArrayList<House> houses;
private ArrayList<Employee> employees;
public void addEmployee(String firstName, String secondName, boolean lazy){
if(employees == null)
employees = new ArrayList<Complex.Employee>();
employees.add(new Employee(firstName, secondName, lazy));
}
public void addHouse(String color, boolean withRoof){
if(houses == null)
houses = new ArrayList<Complex.House>();
houses.add(new House(color, withRoof));
}
class House{
private String color;
private boolean withRoof;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public boolean isWithRoof() {
return withRoof;
}
public void setWithRoof(boolean withRoof) {
this.withRoof = withRoof;
}
public House(String color, boolean withRoof) {
super();
this.color = color;
this.withRoof = withRoof;
}
}
class Employee{
private String firstName;
private String secondName;
boolean lazy;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getSecondName() {
return secondName;
}
public void setSecondName(String secondName) {
this.secondName = secondName;
}
public boolean isLazy() {
return lazy;
}
public void setLazy(boolean lazy) {
this.lazy = lazy;
}
public Employee(String firstName, String secondName, boolean lazy) {
super();
this.firstName = firstName;
this.secondName = secondName;
this.lazy = lazy;
}
}
}