1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
package Cours;
import java.util.ArrayList;
public class ListeGenerique <T>
{
// pour stocker les éléments de la liste
private ArrayList<T> liste;
// pointeur de position dans la liste
private int position;
// nombre déléments de la liste
private int nbElements;
// constructeur avec un paramètre permettant de dimensionner
// la liste
public ListeGenerique(int taille)
{
liste=new ArrayList<T>(taille);
}
public void ajout(T element)
{
liste.add(element);
nbElements = nbElements + 1;
}
public void insert(T element,int index)
{
// on vérifie si lindex nest pas supérieur au nombre
// déléments ou si lindex nest pas inférieur à 0
if (index >= nbElements || index < 0)
{
return;
}
liste.add(index,element);
// on met à jour le nombre déléments
nbElements = nbElements + 1;
}
public void remplace(T element,int index)
{
// on vérifie si lindex nest pas supérieur au nombre
// déléments ou si lindex nest pas inférieur à 0
if (index >= nbElements || index < 0)
{
return;
}
liste.set(index,element);
}
public void supprime(int index)
{
int i;
// on vérifie si lindex nest pas supérieur au nombre
// déléments ou si lindex nest pas inférieur à 0
if (index >= nbElements || index < 0)
{
return;
}
liste.remove(index);
// on met à jour le nombre déléments
nbElements = nbElements - 1;
}
public T getElement(int j)
{
return liste.get(j);
}
public int getNbElements()
{
return nbElements;
}
public T premier() throws Exception
{
if (nbElements == 0)
{
throw new Exception("liste vide");
}
// on déplace le pointeur sur le premier élément
position = 0;
return liste.get(0);
}
public T dernier() throws Exception
{
if (nbElements == 0)
{
throw new Exception("liste vide");
}
// on déplace le pointeur sur le dernier élément
position = nbElements - 1;
return liste.get(position);
}
public T suivant() throws Exception
{
if (nbElements == 0)
{
throw new Exception("liste vide");
}
// on vérifie si on nest pas à la fin de la liste
if (position == nbElements - 1)
{
throw new Exception("pas delement suivant");
}
// on déplace le pointeur sur lélément suivant
position = position + 1;
return liste.get(position);
}
public T precedent() throws Exception
{
if (nbElements == 0)
{
throw new Exception("liste vide");
}
// on vérifie si on nest pas sur le premier élément
if (position == 0)
{
throw new Exception("pas délément précédent");
}
// on se déplace sur lélément précédent
position = position - 1;
return liste.get(position);
}
} |