array objects java
Neste tutorial Java, você pode aprender a criar, inicializar e classificar a matriz de objetos em Java com exemplos de código completos:
O que é uma matriz de objetos?
Como todos sabemos, a linguagem de programação Java tem tudo a ver com objetos, pois é uma linguagem de programação orientada a objetos.
qual programa abre um arquivo eps
Se você quiser armazenar um único objeto em seu programa, poderá fazê-lo com a ajuda de uma variável do tipo objeto. Mas quando você está lidando com vários objetos, é aconselhável usar uma série de objetos.
=> Confira o guia de treinamento Java perfeito aqui.
Java é capaz de armazenar objetos como elementos do array junto com outros tipos de dados primitivos e personalizados. Observe que quando você diz 'matriz de objetos', não é o objeto em si que é armazenado na matriz, mas as referências do objeto.
Neste tutorial, você se familiarizará com a criação, inicialização, classificação, bem como exemplos de array de objetos em Java.
O que você aprenderá:
Como criar uma matriz de objetos em Java?
Uma matriz de objetos é criada usando a classe ‘Object’.
A instrução a seguir cria uma matriz de objetos.
Class_name () objArray;
Como alternativa, você também pode declarar uma matriz de objetos conforme mostrado abaixo:
Class_nameobjArray();
Ambas as declarações acima implicam que objArray é uma matriz de objetos.
Portanto, se você tiver uma classe ‘Employee’, poderá criar uma matriz de objetos Employee conforme mostrado abaixo:
Employee() empObjects; OR Employee empObjects();
As declarações da matriz de objetos acima precisarão ser instanciadas usando 'novo' antes de serem usadas no programa.
Você pode declare e instancie a matriz de objetos conforme mostrado abaixo:
Employee() empObjects = new Employee(2);
Observação que uma vez que um array de objetos é instanciado como acima, os elementos individuais do array de objetos precisam ser criados usando new.
A declaração acima irá criar uma matriz de objetos ‘empObjects’ com 2 referências de elementos / objetos.
Inicializar matriz de objetos
Depois que a matriz de objetos é instanciada, você deve inicializá-la com valores. Como o array de objetos é diferente de um array de tipos primitivos, você não pode inicializar o array da maneira que faz com os tipos primitivos.
No caso de uma matriz de objetos, cada elemento da matriz, ou seja, um objeto precisa ser inicializado. Já discutimos que um array de objetos contém referências aos objetos de classe reais. Portanto, uma vez que o array de objetos é declarado e instanciado, você deve criar objetos reais da classe.
Uma maneira de inicializar a matriz de objetos é usando os construtores. Ao criar objetos reais, você pode atribuir valores iniciais a cada um dos objetos, passando valores para o construtor. Você também pode ter um método de membro separado em uma classe que atribuirá dados aos objetos.
O programa a seguir mostra a inicialização de objetos de array usando o construtor.
Aqui usamos a classe Employee. A classe tem um construtor que aceita dois parâmetros, ou seja, nome do funcionário e ID do funcionário. Na função principal, depois que uma matriz de funcionários é criada, vamos em frente e criamos objetos individuais do funcionário da classe.
Em seguida, passamos os valores iniciais para cada um dos objetos usando o construtor.
A saída do programa mostra o conteúdo de cada objeto que foi inicializado anteriormente .
class Main{ public static void main(String args()){ //create array of employee object Employee() obj = new Employee(2) ; //create & initialize actual employee objects using constructor obj(0) = new Employee(100,'ABC'); obj(1) = new Employee(200,'XYZ'); //display the employee object data System.out.println('Employee Object 1:'); obj(0).showData(); System.out.println('Employee Object 2:'); obj(1).showData(); } } //Employee class with empId and name as attributes class Employee{ int empId; String name; //Employee class constructor Employee(inteid, String n){ empId = eid; name = n; } public void showData(){ System.out.print('EmpId = '+empId + ' ' + ' Employee Name = '+name); System.out.println(); } }
Resultado:
O programa de exemplo que fornecemos a seguir mostra uma função-membro da classe Employee que é usada para atribuir os valores iniciais aos objetos Employee.
Exemplo de programa para uma matriz de objetos em Java
É dado um exemplo completo que demonstra a matriz de objetos em Java.
Neste programa, temos uma classe Employee que tem o ID do funcionário (empId) e o nome do funcionário (nome) como campos e ‘setData’ e ‘showData’ como métodos que atribuem dados a objetos de funcionários e exibem o conteúdo dos objetos de funcionários, respectivamente.
No método principal do programa, primeiro definimos uma matriz de objetos Employee. Observe que esta é uma matriz de referências e não objetos reais. Em seguida, usando o construtor padrão, criamos objetos reais para a classe Employee. Em seguida, os objetos são atribuídos a dados usando o método setData.
Por último, os objetos invocam o método showData para exibir o conteúdo dos objetos da classe Employee.
class Main{ public static void main(String args()){ //create array of employee object Employee() obj = new Employee(2) ; //create actual employee object obj(0) = new Employee(); obj(1) = new Employee(); //assign data to employee objects obj(0).setData(100,'ABC'); obj(1).setData(200,'XYZ'); //display the employee object data System.out.println('Employee Object 1:'); obj(0).showData(); System.out.println('Employee Object 2:'); obj(1).showData(); } } //Employee class with empId and name as attributes class Employee{ int empId; String name; public void setData(intc,String d){ empId=c; name=d; } public void showData(){ System.out.print('EmpId = '+empId + ' ' + ' Employee Name = '+name); System.out.println(); } }
Resultado:
Como classificar uma matriz de objetos em Java?
Como uma matriz de tipos primitivos, uma matriz de objetos também pode ser classificada usando o método ‘sort’ da classe Arrays.
Mas a diferença é que a classe à qual os objetos pertencem deve implementar a interface ‘Comparable’ para que a matriz de objetos seja classificada. Você também precisa substituir o método ‘compareTo’ que decidirá o campo no qual a matriz deve ser classificada. A matriz de objetos é classificada em ordem crescente por padrão.
O programa a seguir mostra a classificação de uma série de objetos. Usamos uma classe Employee para esse propósito e a matriz é classificada com base no ID do funcionário (empId).
import java.util.*; //employee class implementing comparable interface for array of objects class Employee implements Comparable { private String name; privateint empId; //constructor public Employee(String name, int empId) { this.name = name; this.empId = empId; } public String getName() { return name; } publicintgetempId() { return empId; } //overridden functions since we are working with array of objects @Override public String toString() { return '{' + 'name='' + name + ''' + ', EmpId=' + empId + '}'; } //compareTo method overridden for sorting array of objects @Override publicint compareTo(Employee o) { if (this.empId != o.getempId()) { returnthis.empId - o.getempId(); } returnthis.name.compareTo(o.getName()); } } //main class class Main { public static void main(String() args) { //array of Employee objects Employee() employees = { new Employee('Rick', 1), new Employee('Sam', 20), new Employee('Adi', 5), new Employee('Ben', 10) }; //print original array System.out.println('Original Array of Employee objects:'); System.out.println(Arrays.toString(employees)); //sort array on empId Arrays.sort(employees); //display sorted array System.out.println('
Sorted Array of Employee objects:'); System.out.println(Arrays.toString(employees)); } }
Resultado:
Observe que no programa acima, a classe Employee implementa a interface Comparable. Em segundo lugar, o método compareTo é sobrescrito para classificar o dado array de objetos no campo empId.
Além disso, o método ‘toString’ é substituído para facilitar a conversão da matriz de objetos em uma string.
perguntas frequentes
P # 1) Você pode ter uma matriz de objetos em Java?
Responda: sim. Java pode ter uma matriz de objetos da mesma forma que pode ter uma matriz de tipos primitivos.
P # 2) O que é uma matriz de objetos em Java?
Responda: Em Java, um array é um objeto criado dinamicamente que pode ter elementos que são objetos ou tipos de dados primitivos. O array pode receber variáveis que são do tipo objeto.
P # 3) Como você classifica objetos em Java?
Responda: Para classificar objetos em Java, precisamos implementar a interface ‘Comparable’ e substituir o método ‘compareTo’ de acordo com um campo específico. Então, podemos usar o método ‘Arrays.sort’ para classificar uma matriz de objetos.
Q # 4) Como você classifica objetos em ArrayList?
Responda: ArrayList pode ser classificado usando o método Collections.sort () diretamente. O método Collections.sort () classifica os elementos naturalmente em ordem crescente.
Conclusão
Neste tutorial, discutimos o tópico 'Matriz de objetos' juntamente com os vários subtópicos relacionados a uma matriz de objetos. Vimos exemplos de inicialização e classificação de uma série de objetos.
Para classificar a classe cujos objetos devem ser classificados, deve implementar a interface ‘Comparable’ e também substituir o método ‘compareTo’. Para imprimir o conteúdo do ‘Array of objects’, devemos também substituir o método ‘toString’ para que possamos escrever todo o conteúdo de cada objeto.
=> Visite aqui para ver a série de treinamento Java para todos.
Leitura recomendada
- Array Java - declarar, criar e inicializar um array em Java
- Tutorial de comprimento de array Java com exemplos de código
- Array Java - como imprimir elementos de um array em Java?
- Array genérico de Java - como simular matrizes genéricas em Java?
- Java Hello World - Crie seu primeiro programa em Java hoje
- Arrays multidimensionais em Java (arrays 2d e 3d em Java)
- Interface Java e tutorial de classe abstrata com exemplos
- Tutorial JAVA para iniciantes: mais de 100 tutoriais práticos em vídeo Java