CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] Réduire la taille d'un tableau ?

jenaipasdenom
jenaipasdenom
Niveau 15
02 janvier 2011 à 02:01:49

Bonsoir.

J'ai un exo à faire qui demande de supprimer un élément d'un tableau désigné par le contenu de la case par l'utilisateur. Il faut donc décaler toutes les données d'un cran vers la gauche en écrasant ladite donnée.
Mais est-il possible de réduire la taille d'un tableau afin de ne pas avoir des données en double à la fin de celui ci ?

Merci d'avance pour les réponses.

godrik
godrik
Niveau 30
02 janvier 2011 à 03:05:01

la reponse depend du type d'objet que tu utilise pour faire un tableau. J'imagine que tu parles de int[] et companie. Ces tableau ne supporte pas la redimension. Il faut dont en recree un plus petit et copie les donnees du premier tableau vers le deuxieme.

Pour regler le probleme, tu peux aussi utiliser une variable qui stocke le nombre d'objet dans le tableau afin de ne pas avoir a le redimensionner.

De facon plus generale, tu devrais utiliser un des conteneurs presente par l'API

dnob700
dnob700
Niveau 10
02 janvier 2011 à 15:25:05

vu que tu devra parcourir le tableau jusqu'à trouver la case que l'utilisateur te demande de supprimer (vu qu'elle est désigné par son contenu et pas par son index) et sauf si tu as le droit de trier ton tableau, la bonne structure de donnée à utiliser est une liste chainé qui te permet de retirer un élément de ta liste très rapidement (sans avoir besoin de recopier des éléments dans le tableau, juste en réécrivant deux pointeurs), lorsque tu sais déjà où se trouve l'élément (ce qui est le cas vu que tu as du le chercher dans le tableau).

je ne sais pas si l'interface des Collection en java permet d'implementer ça efficacement, mais i faut donc que tu utilise des List avec une implémentation de LinkedList. Ça doit ressembler à ça, si tu sais utiliser les collection en java :
import java.utils.*;
List tableau = new LinkedList<le type que tu veux mettre dedans>();

Alternativement, il faudra peut-être que tu manipule ton tableau expressement comme une LinkedList plutôt que juste une List (pour pouvoir implémenter efficacement la suppression d'un élément de la list). C'est à voir.

godrik
godrik
Niveau 30
03 janvier 2011 à 16:13:17

De memoire l'interface collection fonctionne a trevers des iterateurs.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment