Mostrando postagens com marcador lista. Mostrar todas as postagens
Mostrando postagens com marcador lista. Mostrar todas as postagens

terça-feira, 16 de fevereiro de 2016

Convertendo Matriz para Lista em Java e Lista para Matriz

 Introdução


O principal objetivo desta dica é explicar de maneira simples e rápida como se converter uma matriz em java para uma lista e de uma lista para uma matriz.


Matris para List

Para convertemos de uma matriz para uma lista utilizaremos a classe java.util.Arrays.

Sintaxe:

List list = Arrays.asList(matris);


Onde:


  • tipo - Tipo da lista caso exista algum especifico.
  • matris - Matris de objetos.


Exemplo:

import java.util.Arrays;
import java.util.List;

public class ConvertorExemplo {
public static void main(String[] args)
  {
      String[] nomes = {"julio", "marcos", "james", "mary", "john"};
      List listaNomes = Arrays.asList(nomes);
      for (String e : listaNomes)
      {
        System.out.println(e);
      }
  }

}


A saída da execução de programa seria:

julio
marcos
james
mary
john


List para matris


Para convertermos um List para uma matriz basta utilizar o método toArray(T[] t) existente já na classe List.

Sintaxe:


      Tipo_objeto[] nomes = listaNomes.toArray(new Tipo_objeto[tamanho_lista]);

Onde:




  • Tipo_objeto - Tipo de objeto da matriz ao qual a lista será convertida.

Exemplo:


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

public class ConvertorExemplo {
public static void main(String[] args)
  {

List listaNomes = new ArrayList();
      listaNomes.add("julio");
      listaNomes.add("marcos");
      listaNomes.add("james");
      listaNomes.add("mary");
      listaNomes.add("john");
   
      String[] nomes = listaNomes.toArray(new String[listaNomes.size()]);
     
      for (String e : nomes)
      {
        System.out.println(e);
      }
  }
}

A saída deste programa seria:

julio
marcos
james
mary
john


sexta-feira, 13 de julho de 2012

Copiar o conteúdo de uma lista para outra lista em java

Introdução



Hoje vou explicar de maneira simples e rápida como copiar todos itens de uma lista para uma outra lista (java.util.List), sendo possível modificar o conteúdo das listas sem interferir uma na outra, como ocorre normalmente quando é simplesmente copiada a referência da variável.


Copia com referência

Caso você deseja copiar um referência de uma lista para outra basta utilizar o sinal de igual (=) para atribuir o valor da lista a a lista b, porém sempre que for alterado o conteúdo de uma das listas o valor da outra também será modificado.


Sintaxe:

List  listaA = new ArrayList();
listaA.add(Item_T);
listaA.add(Item_T);

List  listaB = listaA;


Onde:

Tipo_T - Tipo de objecto que a lista guarda.
Item_T - Item adicionado a lista.



Abaixo é possível visualizar um exemplo de um programa  onde é copiado o conteúdo de uma lista para outra contendo referência na memória de seu conteúdo.


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

public class CopyList {

    public static void main(String args[]) {

        List listaOriginal  = new ArrayList();
        listaOriginal.add("A");
        listaOriginal.add("B");
        listaOriginal.add("C");
       
        System.out.println("Lista Original");
        exibirLista(listaOriginal);
       
        List listaCopia  = listaOriginal;
       
        System.out.println("Lista Cópia");
        exibirLista(listaCopia);
        listaCopia.clear();
       
        System.out.println("Lista Cópia");
        exibirLista(listaCopia);
       
        System.out.println("Lista Original");
        exibirLista(listaOriginal);
       
    }

    public static void exibirLista(List lista) {
        for (String i : lista) {
            System.out.print(i);
        }
        System.out.println();
    }
}



Abaixo é possível visualizar a execução do código acima.


 

 

Copia sem referência


Caso você deseja copiar uma lista para outra tornando possível a modificação do conteúdo de ambas sem que haja conflito no conteúdo uma da outra é necessário utilizar um processo bem simples (não que seja o único), basta colocar o lista a dentro do construtor da lista b.


Sintaxe:

List  listaA = new ArrayList();
listaA.add(Item_T);
listaA.add(Item_T);

List  listaB = new ArrayList(listaA);


Onde:

Tipo_T - Tipo de objecto que a lista guarda.
Item_T - Item adicionado a lista.

Abaixo é possível visualizar um exemplo de cópia sem referência:

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

public class CopyList {

    public static void main(String args[]) {

        List listaOriginal  = new ArrayList();
        listaOriginal.add("A");
        listaOriginal.add("B");
        listaOriginal.add("C");
       
        System.out.println("Lista Original");
        exibirLista(listaOriginal);
       
        List listaCopia  = new ArrayList(listaOriginal);
       
        System.out.println("Lista Cópia");
        exibirLista(listaCopia);
        listaCopia.clear();
       
        System.out.println("Lista Cópia");
        exibirLista(listaCopia);
       
        System.out.println("Lista Original");
        exibirLista(listaOriginal);
       
    }

    public static void exibirLista(List lista) {
        for (String i : lista) {
            System.out.print(i);
        }
        System.out.println();
    }
}



Abaixo é possível visualizar a execução do código acima.