ArrayList in another class

Oi galera, eu vi alguns posts sobre arraylist, mas confesso que nao entendi muito bem como usar isso da classe main para uma classe onde exista essa arraylist. Sou iniciante em java entao este conceito esta um pouco dificil de pegar.

Meu projeto e fazer uma reserva de hotel, sem usar banco por enquanto, so com arraylist ou array.

Minha classe booking:
/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package hotel;

import java.util.ArrayList;

/**
*

  • @author Claudinea de Almeida
    */
    public class Booking {

    Room[] rooms = new Room[50];
    private ArrayList occupied;
    private ArrayList available;
    private int nights;

    public void checkAvailable(ArrayList occupied){

    }

    public Room[] getRooms() {
    return rooms;
    }

    public void setRooms(Room[] rooms) {
    this.rooms = rooms;
    }

    public ArrayList getOccupied() {
    return occupied;
    }

    public void setOccupied(ArrayList occupied) {
    this.occupied = occupied;
    }

    public ArrayList getAvailable() {
    return available;
    }

    public void setAvailable(ArrayList available) {
    this.available = available;
    }

    public int getNights() {
    return nights;
    }

    public void setNights(int nights) {
    this.nights = nights;
    }

    @Override
    public String toString() {
    return “Booking{” + “rooms=” + rooms + “, occupied=” + occupied + “, available=” + available + “, nights=” + nights + ‘}’;
    }

}

minha classe guest
*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package hotel;

/**
*

  • @author Claudinea de Almeida
    */
    public class Guest {

    private int id;
    private String name;
    private String email;
    private String cardnumber;
    private String roomnumber;

    public Guest(){}

    public int getId() {
    return id;
    }

    public void setId(int id) {
    this.id = id;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public String getEmail() {
    return email;
    }

    public void setEmail(String email) {
    this.email = email;
    }

    public String getCardnumber() {
    return cardnumber;
    }

    public void setCardnumber(String cardnumber) {
    this.cardnumber = cardnumber;
    }

    public String getRoomnumber() {
    return roomnumber;
    }

    public void setRoomnumber(String roomnumber) {
    this.roomnumber = roomnumber;
    }

    @Override
    public String toString() {
    return “Guest{” + “id=” + id + “, name=” + name + “, email=” + email + “, cardnumber=” + cardnumber + “, roomnumber=” + roomnumber + ‘}’;
    }

}

Entao, preciso fazer uma reserva de quarto e ao mesmo tempo que eu marcar o quarto como ocupado no arraylist ocupado, devo colocar no guest o numero do quarto ao qual ele pertence.

Thank you

Arruma esse tópico, use as ferramentas disponíveis no fórum.
Selecione o que for código e clique no botão </> acima do editor.
Tente se ater ao que é necessário, códigos muito extensos afastam possíveis foristas que poderiam contribuir.

Usando a ferramenta de pré-formatação:

image

1 - Booking Class

/*

To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
package hotel;

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

/**
*

@author Claudinea de Almeida
*/
public class Booking{

Room[] rooms = new Room[50];
private List<T> occupied = new ArrayList<>(); //Qual é o tipo da lista?
private List<T> available = new ArrayList<>(); //Qual é o tipo da lista?
private int nights;

public void checkAvailable(List<T> occupied){

}

public Room[] getRooms(){
	return rooms;
}

public void setRooms(Room[] rooms){
	this.rooms = rooms;
}

public List<T> getOccupied(){
	return occupied;
}

public void setOccupied(type occupied){
	this.occupied.add(occupied);
}

public List<T> getAvailable(){
	return available;
}

public void setAvailable(type available){
	this.available.add(available);
}

public int getNights(){
	return nights;
}

public void setNights(int nights){
	this.nights = nights;
}

@Override
public String toString(){
	return "Booking{" 
		+ "rooms=" + rooms 
		+ ", occupied=" + occupied 
		+ ", available=" + available 
		+ ", nights=" + nights 
		+ "}";
}

}

2 - Guest Class

/*

To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.

*/
package hotel;
/**
*
@author Claudinea de Almeida
*/
public class Guest{

	private int id;
	private String name;
	private String email;
	private String cardnumber;
	private String roomnumber;

	public Guest(){}

	public int getId(){
		return id;
	}

	public void setId(int id){
		this.id = id;
	}

	public String getName(){
		return name;
	}

	public void setName(String name){
		this.name = name;
	}

	public String getEmail(){
		return email;
	}

	public void setEmail(String email){
		this.email = email;
	}

	public String getCardnumber(){
		return cardnumber;
	}

	public void setCardnumber(String cardnumber){
		this.cardnumber = cardnumber;
	}

	public String getRoomnumber(){
		return roomnumber;
	}

	public void setRoomnumber(String roomnumber){
		this.roomnumber = roomnumber;
	}

	@Override
	public String toString(){
		return "Guest{" 
			+ "id=" + id 
			+ ", name=" + name 
			+ ", email=" + email 
			+ ", cardnumber=" + cardnumber 
			+ ", roomnumber=" + roomnumber 
			+ "}";
	}
}

Repita comigo: iniciante estuda as bases da linguagem, sintaxe, estruturas de desvio, de repetição, aplicação de algoritmos, conceitos de orientação a objetos…
Sem isso, amigo, você não tem como evoluir.

Agora, se você já estudou isso, tenho duas colocações:

  • Você já não é iniciante
  • Você já deveria saber como usar instâncias de objetos e atributos ligados a cada objeto.

Sei instanciar objetos, mas minha duvida e quando isso envolve array and arraylistTexto pré-formatado. Ainda me considero iniciante pois tenho essas duvidas.Texto pré-formatado``

Quais são os tipos das listas? Guest?

List<Guest> guestList = new ArrayList<>();? E a outra lista?

valeu pela dicaTexto pré-formatado

Eu deveria colocar nesta lista o quarto que esta sendo ocupado
private ArrayList occupied;

O numero do quarto esta aqui:
Room[] rooms = new Room[50];

E nesta lista o numero do quarto vago
private ArrayList available;

Qual o conceito de array?
Quando você deve usar um array?
Por que você usaria alocação dinâmica de memória e não um array com um limite de posições alocadas?

Poderia ser um arraylist tambem, mas neste caso a quantidade estara fixa

Não respondeu as perguntas, fera.
Não é por que “ouviu falar em” algo que você vai sair usando.
É necessário avaliar a necessidade.
Precisa usar uma lista? O que está tentando fazer?
Por que cargas d`água isso precisa estar numa outra instância de objeto que não na que você está trabalhando naquele momento?

Obrigada pela ajuda, consegui resolver o problemas redefenindo alguns atributos. Valeu pela ajuda.