[Ajuda] Exercícios de Lista

Olá pessoal, estou no segundo período de Sistemas de Informação, e na matéria de Estrutura de dados a professorapassou para gente uns exercícios de Listas, era pra fazer a mão mesmo(escrevendo a caneta),considerando que ja existisse uma classe Lista, mais ela disse que eu poderia fazer no Eclipse e entregar pra ela depois, bom estou com um problema na hora de criar a classe Lista. Minha classe lista vai ter os comandos de inserir,remover,inicializar etc né?
Mais como vou criar uma LISTA mesmo, estou com essa dúvida, olha só minha classe:

public class Lista {
	public int RetiraLista(int p_retira){
		int info = Lista[p_retira];
		
	}

}

Bom eu sei, deeu erro ai porque Lista tem o mesmo nome da Classe, no caso eu teria que fazer o que? Construir um método construtor da Classe lista e criar uma Lista? Ainda não sei como criar uma lista, pessoal, sou muito leigo ainda e é por isso que estou aqui, me desculpem pois essa é a primeira vez que estou fazendo isso, obrigado.

E aê cara… blz?
Não sei se a list que você quer saber é referente a GUI ou a uma Collection, por via das dúvidas, fiz os dois:

GUI:

[code]package exemplosGuj;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

@SuppressWarnings(“serial”)
public class ListaSwing extends JFrame{
private JList jlistLista;
private JScrollPane spScroolPane;
private JTextField tfValor;
private JButton btRemover;
private JButton btExibir;
private JButton btAdicionar;

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	ListaSwing lista = new ListaSwing();
	lista.setVisible(true);
}
/**
 * Construtor da classe
 */
public ListaSwing()
{
	
	this.setTitle("Lista");
	this.setSize(400,244);
	this.setLayout(null);
	this.setResizable(false);
	this.setLocationRelativeTo(null);
	this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	{
		spScroolPane = new JScrollPane();
		getContentPane().add(spScroolPane);
		spScroolPane.setBounds(12, 12, 185, 181);
		{
			String [] itens = {"A", "B", "C", "D"}; 
		     
			jlistLista = new JList(itens);
			spScroolPane.setViewportView(jlistLista);
			jlistLista.setBounds(164, 23, 142, 173);
		}
	}
	{
		tfValor = new JTextField();
		getContentPane().add(tfValor);
		tfValor.setBounds(203, 12, 183, 25);
	}
	{
		btAdicionar = new JButton();
		getContentPane().add(btAdicionar);
		btAdicionar.setText("Adicionar");
		btAdicionar.setBounds(203, 37, 183, 27);
		btAdicionar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				if (tfValor.getText().length()>0)
				{
					  DefaultListModel dlm = new DefaultListModel();  
					     for(int i = 0; i < jlistLista.getModel().getSize(); i++) {  
					         dlm.addElement(jlistLista.getModel().getElementAt(i));  
					     }  
					     dlm.addElement(tfValor.getText());  
					     jlistLista.setModel(dlm);  
				}
				else
				{
					JOptionPane.showMessageDialog(null, "Coloque um valor antes", "Erro", JOptionPane.ERROR_MESSAGE);
				}
			}
		});
	}
	{
		btRemover = new JButton();
		getContentPane().add(btRemover);
		btRemover.setText("Remover selecionado");
		btRemover.setBounds(203, 92, 184, 27);
		btRemover.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				if (jlistLista.getSelectedIndex()>=0)
				{
					DefaultListModel dlm = new DefaultListModel();  
				     for(int i = 0; i < jlistLista.getModel().getSize(); i++) {  
				         dlm.addElement(jlistLista.getModel().getElementAt(i));  
				     }  
				     dlm.remove(jlistLista.getSelectedIndex());
				     jlistLista.setModel(dlm);  
				}
				else
				{
					JOptionPane.showMessageDialog(null, "Escolha um registro primeiro", "Erro", JOptionPane.ERROR_MESSAGE);
				}
			}
		});
	}
	{
		btExibir = new JButton();
		getContentPane().add(btExibir);
		btExibir.setText("Exibir selecionado");
		btExibir.setBounds(204, 147, 183, 26);
		btExibir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				if (jlistLista.getSelectedIndex()>=0)
				{
					JOptionPane.showMessageDialog(null, jlistLista.getSelectedValue(),"Voce selecionou...", JOptionPane.INFORMATION_MESSAGE);
				}
				else
				{
					JOptionPane.showMessageDialog(null, "Escolha um registro primeiro", "Erro", JOptionPane.ERROR_MESSAGE);
				}
			}
		});
	}
}

}[/code]

Collection:

package exemplosGuj;

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

public class Lista {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<String> lista = new ArrayList<String>();
		/**
		 * Adicionando quatro letras
		 */
		lista.add("A");
		lista.add("B");
		lista.add("C");
		lista.add("D");
		
		/**
		 * Imprimindo as quatro
		 */
		for (int i = 0;i<lista.size();i++)
		{
			System.out.println("Letra: "+lista.get(i));
		}
		System.out.println("------------------------");
		/**
		 * Removendo a letra B
		 */
		lista.remove(1);
		/**
		 * Trocando a letra A por X
		 */
		lista.set(0, "X");
		
		/**
		 * Imprimindo as tres
		 */
		for (int i = 0;i<lista.size();i++)
		{
			System.out.println("Letra: "+lista.get(i));
		}
		System.out.println("------------------------");
		/**
		 * Mostrando a posicacao da letra C
		 */
		System.out.println("Letra C esta na posicao: "+lista.indexOf("C"));
		System.out.println("------------------------");
		System.out.println("Na posicao 0 tem a letra: "+lista.get(0));
	}

}

Espero ter ajudado… :thumbup:

Olá, agora eu entendi, obrigado.
Mais ainda estou com problemas, a professora passou umas funções no quadro de retira,insere etc…
mais na hora que vou colocas da erro…
Tipo de Erro : The type of the expression must be an array type but it resolved to List

import java.util.ArrayList;
import java.util.List;
public class Lista {
   List<String> lista = new ArrayList<String>();
   public int RetiraLista(int p_retira){
	   int p_fim;
	  int  info = lista[p_retira];
	  int p_trab = p_retira;
	  while(p_trab < p_fim){
		  lista[p_trab] = lista[p_trab+1];
		  p_trab++;
	  }
	  p_fim--;
   
	   return info;
   }
 
}

Bom pessoal, agora eu entendi, a professora passou uma classe lista no quadro com as funções, um exemplo se eu fosse inserir um elemento : lista.inserelista…
Vou falar com ela se posso fazer assim direto, importando as bibliotecas Array e List, agora eu to só com umas dúvidas: qual a função que eu uso para iniciar a lista, para buscar um elemento na lista, e para verificar se a lista esta cheia?
OBS : Agora que lembrei, tem que usar alocação sequencial estática, então tenho que usar Arrays certo?
Valeu pessoal!

Como te disse:

//Delacara uma list de string
List<String> lista = new ArrayList<String>();
lista.add("Agora tem conteudo...");
lista.add("... e mais um");

//Retorna o conteudo da posicao 0 da list lista.get(0); //Pesquisa e retorna a posição da String procurada. lista.indexOf("Java")

if (lista.getSize()>0) { System.out.println("Tem conteudo"); } else { System.out.println("Esta vazia"); }

Ah muito obrigadoo, esclareceu mesmo, mais ainda tenho uma dúvida final kkkk(to me sentindo um sangue suga), No caso teria como eu pré determinar o tamanho da Lista? Porque no caso quando a lista vai aumentando quando se insere um elemento é chamado de Alocação Dinâmica né?
A professora disse que vamos trabalhar com sequencial estática, então teria como eu determinar o tamanho que vai ser a lista?
Ou vou ter que usar um vetor mesmo?