![]() |
|
Introdução
O array é um grupo de posições contínuas na memória que possuem o mesmo nome e o mesmo tipo. Para referir-se a uma localização ou elemento particular no array, especificamos o nome do array e o número da posição(ou índice ou subscrito) do elemento particular no array.
1)Declará-lo. Exemplo: int[] meuArray;
2)Construí-lo. Exemplo:
meuArray = new int[2];
3)Inicializar. Exemplo: meuArray[0] = 2;
meuArray[1] = 4.
Neste caso foi criado um array com uma dimensão e duas posições do tipo inteiro, note os colchetes (“[]”). Cada conjunto indica uma dimensão. Como ilustração, podemos imaginar como exemplo, uma gaveta contendo várias pastas onde a posição de cada pasta seria uma posição do array. A posição zero seria o primeiro elemento, posição 1 o segundo elemento e assim por diante até o último elemento(n -1).
Vamos supor que desejamos construir um array de números inteiros. Então devemos realizar uma declaração do mesmo, como segue:
int[] meuArray;
O próximo passo é construir. Para isto, vamos
definir que
o array terá dez posições:
meuArray
= new int[10];
Vamos iniciar as cinco primeiras
posições do array com valores:
meuArray[0] = 22;
meuArray[1] = 2;
meuArray[2] = 242;
meuArray[3] = 4552;
meuArray[4] = 36.
Agora, vamos construir um laço de repetição for para percorrer os elementos e produzir uma saída no terminal:
for (int i = 0; i <
meuArray.length; i++){
System.out.println("posição " + i + " = " +
meuArray[i]);
]
O código completo fica desta maneira:
public class MeuArray {
public static void main( String args[]){
int[] meuArray;
meuArray = new int[10];
meuArray[0] = 22;
meuArray[1] = 2;
meuArray[2] = 242;
meuArray[3] = 4552;
meuArray[4] = 36;
for (int i = 0; i < meuArray.length; i++){
System.out.println("posição " + i + " = " + meuArray[i]);
}
}
}
O programa ao ser executado vai produzir uma saída no terminal:
posição 0 = 22
posição 1 = 2
posição 2 = 242
posição 3 = 4552
posição 4 = 36
posição 5 = 0
posição 6 = 0
posição 7 = 0
posição 8 = 0
posição 9 = 0
Note que um dos parâmetros dentro da estrutura de
repetição for é o método
que obtém o
tamanho do array, “length”.
Este método aplicado ao
objeto
meuArray(meuArray.length), retorna um número inteiro
correspondente ao tamanho do array.
Existe uma classe que auxilia a
utilização de array, que está
localizada no
pacote java.util, tem o nome de Arrays, e possui os seguintes
métodos:
public class MeuArray {
public static void main( String args[]){
int[] meuArray;
meuArray = new int[10];
meuArray[0] = 22;
meuArray[1] = 2;
meuArray[2] = 242;
meuArray[3] = 4552;
meuArray[4] = 36;
java.util.Arrays.sort(meuArray);
for (int i = 0; i < meuArray.length; i++){
System.out.println("posição " + i + " = " + meuArray[i]);
}
System.out.println("posição do elemento 4552 :" + java.util.Arrays.binarySearch(meuArray,4552));
}
}
public class MeuArray {
public static void main( String args[]){
int[] meuArray;
meuArray = new int[10];
meuArray[0] = 22;
meuArray[1] = 2;
meuArray[2] = 242;
meuArray[3] = 4552;
meuArray[4] = 36;
java.util.Arrays.sort(meuArray);
for (int i = 0; i < meuArray.length; i++){
System.out.println("posição " + i + " = " + meuArray[i]);
}
System.out.println("Conteúdo do objeto array : " + java.util.Arrays.toString(meuArray));
System.out.println("posição do elemento 4552 :" + java.util.Arrays.binarySearch(meuArray,4552));
int [] espelho = meuArray;
if (java.util.Arrays.equals(meuArray,espelho)){
System.out.println("são identicos...");
else{
System.out.println("são diferentes...");
}
java.util.Arrays.fill(espelho,5522);
for (int j = 0; j < meuArray.length; j++){
System.out.println("posição " + j + " = " + meuArray[j]);
}
System.out.println("Conteúdo do objeto array : " + java.util.Arrays.toString(meuArray));
}
}
public class Armario {
/** Inicia programa Armario */
public static void main (String args[]){
String [][] dado = new String[3][3];
for (int gaveta = 0 ; gaveta < dado.length; gaveta++){
for(int pasta = 0; pasta < dado[gaveta].length; pasta++){
dado[gaveta][pasta] = "Gaveta " + gaveta + " pasta " + pasta;
}
}
for (int gaveta = 0 ; gaveta < dado.length; gaveta++){
for(int pasta = 0; pasta < dado[gaveta].length; pasta++){
System.out.println(dado[gaveta][pasta]);
}
}
}
}
Um exemplo de programa que ordena um array.// Pacote Java
import javax.swing.JOptionPane;
/**
*
* @author root
*/
public class OrdenaArray{
public static void ordena(int[] meuarray){
// tamanho do array
int x = meuarray.length;
int incr = x / 2;
while (incr >= 1){
for (int i = incr; i < x; i++){
int temp = meuarray[i];
int j = i;
while (j >= incr && temp < meuarray[j - incr]){
meuarray[j] = meuarray[j - incr];
j -= incr;
}
meuarray[j] = temp;
}
incr /= 2;
}
}
public static void printarray(int[] a){
String var = "";
for (int i = 0; i < a.length; i++){
var = var.concat(a[i] + "\n\r");
}
JOptionPane.showMessageDialog( null, var, "Array ordenado", JOptionPane.INFORMATION_MESSAGE );
}
public static void main(String[] args){
// constroi um array com dez inteiro
int[] meuarray = new int[10];
int i;
// preenche o array com valores randomicos
for (i = 0; i < meuarray.length; i++)
meuarray[i] = (int)(Math.random() * 100);
printarray(meuarray);
ordena(meuarray);
printarray(meuarray);
}
}
![]() |
![]() |

// Pacotes Java
import java.awt.Color;
import java.util.*;
import javax.swing.JOptionPane;
public class TesteColecao {
private String colors[] = { "vervelha", "branca", "azul" };
// cria um ArrayList, adiciona objetos e manipula
public TesteColecao()
{
ArrayList list = new ArrayList();
String var = "";
// Adiciona um objeto para lista
list.add( Color.magenta ); // Adiciona um objeto color
for ( int count = 0; count < colors.length; count++ )
list.add( colors[ count ] );
list.add( Color.cyan ); // Adiciona um objeto color
// saída do conteúdo da lista
var = "ArrayList: \n\r";
for ( int count = 0; count < list.size(); count++ )
var += list.get( count ) + "\n\r ";
JOptionPane.showMessageDialog( null, var, "ArrayList", JOptionPane.INFORMATION_MESSAGE );
// remove todos os objetos String
removeStrings( list );
// saída do conteúdo da lista
var = "ArrayList depos da chamada remove Strings: \n\r";
for ( int count = 0; count < list.size(); count++ ){
var += list.get( count ) + "\n\r ";
}
JOptionPane.showMessageDialog( null, var, "ArrayList", JOptionPane.INFORMATION_MESSAGE );
}
// remove objetos String objects da Coleção
public void removeStrings( Collection collection )
{
// recebe iterator
Iterator iterator = collection.iterator();
// laço de repetição while na coleção verifica item
while ( iterator.hasNext() )
if ( iterator.next() instanceof String )
iterator.remove(); // remove objeto String
}
// executa aplicação
public static void main( String args[] )
{
new TesteColecao();
}
} // fim da classe TesteColecao
![]() |
![]() |
import java.util.*;
import javax.swing.JOptionPane;
public class TesteList {
private String colors[] = { "preta", "amarela", "verde",
"azul", "violeta", "prata" };
private String colors2[] = { "ouro", "branca", "marrom",
"azul", "cinza", "prata" };
// atribuir e manipular objetos LinkedList
public TesteList()
{
LinkedList link = new LinkedList();
LinkedList link2 = new LinkedList();
// adiciona elementos para cada lista
for ( int count = 0; count < colors.length; count++ ) {
link.add( colors[ count ] );
link2.add( colors2[ count ] );
}
link.addAll( link2 ); // concatena lista
link2 = null; // release resources
imprimeLista( link );
uppercaseStrings( link );
imprimeLista( link );
JOptionPane.showMessageDialog( null, "Deletando elementos de 4 a 6...", "Lista", JOptionPane.INFORMATION_MESSAGE );
removeItems( link, 4, 7 );
imprimeLista( link );
}
// saida conteudo List
public void imprimeLista( List list )
{
String var = "";
var = "lista: \n\r" ;
for ( int count = 0; count < list.size(); count++ ){
var += list.get( count ) + "\n\r";
}
JOptionPane.showMessageDialog( null, var, "Lista", JOptionPane.INFORMATION_MESSAGE );
}
// objeto String local e converte para uppercase
public void uppercaseStrings( List list )
{
ListIterator iterator = list.listIterator();
while ( iterator.hasNext() ) {
Object object = iterator.next(); // get item
if ( object instanceof String ) // check for String
iterator.set(
( ( String ) object ).toUpperCase() );
}
}
// obtem sublista e usa metodo clear para deletar od itens
public void removeItems( List list, int start, int end )
{
list.subList( start, end ).clear(); // remove items
}
// executa aplicação
public static void main( String args[] )
{
new TesteList();
}
} // fim da classe TesteList
![]() |
![]() |
![]() |
![]() |
// Pacotes Java
import java.util.*;
import javax.swing.JOptionPane;
public class TesteSet {
private String colors[] = { "vermelha", "branca", "azul",
"verde", "cinza", "laranja", "bronze", "branca", "cinza",
"pesego", "ciza", "laranja" };
// Cria e imprime ArrayList
public TesteSet()
{
ArrayList list;
list = new ArrayList( Arrays.asList( colors ) );
String var = "";
JOptionPane.showMessageDialog( null, list, "ArrayList", JOptionPane.INFORMATION_MESSAGE );
imprimeNaoDuplicados( list );
}
// cria um conjunto de array para eleiminar duplicados
public void imprimeNaoDuplicados( Collection collection )
{
// cria um HashSet e obtem iterator
HashSet set = new HashSet( collection );
Iterator iterator = set.iterator();
String var = "Não duplicados: \n\r";
while ( iterator.hasNext() ){
var += iterator.next() + "\n\r";
}
JOptionPane.showMessageDialog( null, var, "HashSet", JOptionPane.INFORMATION_MESSAGE );
}
// executa aplicação
public static void main( String args[] )
{
new TesteSet();
}
} // fim da classe TesteSet
![]() |
![]() |
import java.util.*;
import javax.swing.JOptionPane;
public class TesteOrdenacaoSet {
private static String names[] = { "amarela", "verde", "preta",
"pesego", "cinza", "branca", "laranja", "vermelha", "verde" };
private String var = "";
// cria uma coleção ordenado do TreeSet, e manipula-o
public TesteOrdenacaoSet()
{
TreeSet tree = new TreeSet( Arrays.asList( names ) );
var = "Coleção total \n\r";
imprimeConjunto( tree );
// pega a base da coleção sobre "laranja"
var = "headSet (\"laranja\") \n\r";
imprimeConjunto( tree.headSet( "laranja" ) );
// pega o final da coleção sobre "lararanja"
var = "tailSet (\"laranja\") \n\r";
System.out.print( "tailSet (\"laranja\"): " );
imprimeConjunto( tree.tailSet( "laranja" ) );
// pega o primeiro e o último elemento
var = "primeiro: " + tree.first() + "\n\r";
var += "ultimo : " + tree.last();
JOptionPane.showMessageDialog( null, var, "TreeSet", JOptionPane.INFORMATION_MESSAGE );
}
// imprime a coleção
public void imprimeConjunto( SortedSet set )
{
Iterator iterator = set.iterator();
while ( iterator.hasNext() ){
var += iterator.next() + "\n\r ";
}
JOptionPane.showMessageDialog( null, var, "TreeSet", JOptionPane.INFORMATION_MESSAGE );
System.out.println();
}
// executa a aplicação
public static void main( String args[] )
{
new TesteOrdenacaoSet();
}
} // fim da classe TesteOrdenacaoSet
![]() |
![]() |
![]() |
![]() |
// Pacotes Java
import java.util.*;
import javax.swing.JOptionPane;
public class TesteMap {
private static String names[] = { "um", "dois", "tres",
"quatro", "cinco", "seis", "sete", "dois", "dez", "quatro" };
private String var = "";
// constroe um HashMap e imprime conteudo
public TesteMap()
{
HashMap map = new HashMap();
Integer i;
for ( int count = 0; count < names.length; count++ ) {
i = ( Integer ) map.get(
new Character( names[ count ].charAt( 0 ) ) );
// se chave não esta no map então é dado um valor e
// do contrário incrementa este valor em 1
if ( i == null )
map.put(
new Character( names[ count ].charAt( 0 ) ),
new Integer( 1 ) );
else
map.put(
new Character( names[ count ].charAt( 0 ) ),
new Integer( i.intValue() + 1 ) );
}
var = "Número de palavras iciadas com cada letra: \n\r";
imprimetMap( map );
}
// saída do conteúdo do map
public void imprimetMap( Map mapRef )
{
var += mapRef.toString() + "\n\r";
var += "tamanho: " + mapRef.size() + "\n\r";
var += "É vazio: " + mapRef.isEmpty() + "\n\r";
JOptionPane.showMessageDialog( null, var, "Teste Map", JOptionPane.INFORMATION_MESSAGE );
}
// executa a aplicação
public static void main( String args[] )
{
new TesteMap();
}
} // fim classe Teste Map

Autores: Carlos Fernando Gonçalves e Marli Esprega Gonçalves (Antares Information Systems)