kzen.dev
  • Questions
  • Tags
  • Utilisateurs
Notifications
Récompenses
Inscription
Une fois inscrit, vous serez informé des réponses et des commentaires à vos questions.
Connectez-vous
Si vous avez déjà un compte, connectez-vous pour vérifier les nouvelles notifications.
Il y aura des récompenses pour les questions, réponses et commentaires ajoutés.
Détails
Source
Editer
Lance Fisher
Lance Fisher
Question

Comment créer une structure de données de type liste chaînée en Java ?

Quelle est la meilleure façon de créer une liste liée en Java ?

133 2008-08-13T16:29:22+00:00 3
 FORE
FORE
Question modifiée 12 octobre 2015 в 4:40
Programmation
data-structures
java
linked-list
Cette question a 1 réponse en anglais, pour les lire connectez-vous à votre compte.
Solution / Réponse
 Aaron
Aaron
24 août 2008 в 8:03
2008-08-24T20:03:56+00:00
Détails
Source
Editer
#8416743

La solution évidente pour les développeurs familiers de Java est d'utiliser la classe LinkedList déjà fournie dans java.util. Supposons toutefois que vous souhaitiez créer votre propre implémentation pour une raison quelconque. Voici un exemple rapide d'une liste liée qui insère un nouveau lien au début de la liste, supprime à partir du début de la liste et boucle à travers la liste pour imprimer les liens qu'elle contient. Les améliorations de cette implémentation consistent à en faire une liste doublement liée, à ajouter des méthodes pour insérer et supprimer à partir du milieu ou de la fin, et à ajouter également des méthodes get et sort.

Note : Dans l'exemple, l'objet Link ne contient pas réellement un autre objet Link - nextLink n'est en fait qu'une référence à un autre lien.

class Link {
    public int data1;
    public double data2;
    public Link nextLink;

    //Link constructor
    public Link(int d1, double d2) {
        data1 = d1;
        data2 = d2;
    }

    //Print Link data
    public void printLink() {
        System.out.print("{" + data1 + ", " + data2 + "} ");
    }
}

class LinkList {
    private Link first;

    //LinkList constructor
    public LinkList() {
        first = null;
    }

    //Returns true if list is empty
    public boolean isEmpty() {
        return first == null;
    }

    //Inserts a new Link at the first of the list
    public void insert(int d1, double d2) {
        Link link = new Link(d1, d2);
        link.nextLink = first;
        first = link;
    }

    //Deletes the link at the first of the list
    public Link delete() {
        Link temp = first;
        if(first == null){
         return null;
         //throw new NoSuchElementException(); // this is the better way. 
        }
        first = first.nextLink;
        return temp;
    }

    //Prints list data
    public void printList() {
        Link currentLink = first;
        System.out.print("List: ");
        while(currentLink != null) {
            currentLink.printLink();
            currentLink = currentLink.nextLink;
        }
        System.out.println("");
    }
}  

class LinkListTest {
    public static void main(String[] args) {
        LinkList list = new LinkList();

        list.insert(1, 1.01);
        list.insert(2, 2.02);
        list.insert(3, 3.03);
        list.insert(4, 4.04);
        list.insert(5, 5.05);

        list.printList();

        while(!list.isEmpty()) {
            Link deletedLink = list.delete();
            System.out.print("deleted: ");
            deletedLink.printLink();
            System.out.println("");
        }
        list.printList();
    }
}
Lakmal Vithanage
Lakmal Vithanage
Réponse modifiée 14 mai 2017 в 2:02
217
0
 dlinsin
dlinsin
13 août 2008 в 4:35
2008-08-13T16:35:02+00:00
Détails
Source
Editer
#8416741

Java dispose d'une implémentation de [LinkedList][1], que vous pouvez consulter. Vous pouvez télécharger le JDK et ses sources sur [java.sun.com][2].

[1] : http://java.sun.com/j2se/1.5.0/docs/api/java/util/LinkedList.html [2] : http://java.sun.com/javase/downloads/index.jsp

Java Downloads | Oracle
Download the Java including the latest version 17 LTS on the Java SE Platform. These downloads can be used for any purpose, at no cost, under the Java SE binary code license.
java.sun.com
LinkedList (Java 2 Platform SE 5.0)
java.sun.com
54
0
Juha Syrjälä
Juha Syrjälä
15 août 2008 в 4:11
2008-08-15T16:11:25+00:00
Détails
Source
Editer
#8416742

Utilisez java.util.LinkedList. Comme ceci :

list = new java.util.LinkedList()
Juha Syrjälä
Juha Syrjälä
Réponse modifiée 20 août 2008 в 6:45
LinkedList (Java 2 Platform SE 5.0)
java.sun.com
22
0
Communautés apparentées 1
Java 🇫🇷
Java 🇫🇷
2 utilisateurs
Discutons de Java, de ses framework et de son utilisation Retrouvez d'autres groupes de développeurs francophones sur @dev_fr
Ouvrir telegram
Ajouter une question
Catégories
Toutes
Technologie
Culture / Loisirs
Vie / Arts
Science
Professionnel
Entreprises
Utilisateurs
Tous
Nouveau
Populaire
1
Ilya Smirnov
Enregistré il y a 5 jours
2
Денис Васьков
Enregistré il y a 1 semaine
3
Dima Patrushev
Enregistré il y a 1 semaine
4
sirojidddin otaboyev
Enregistré il y a 2 semaines
5
Елена Гайдамамакинат
Enregistré il y a 2 semaines
DE
ES
FR
ID
JA
KO
RU
TR
ZH
© kzen.dev 2023
Source
stackoverflow.com
sous licence cc by-sa 3.0 avec l'attribution