Convertir ArrayList vers TreeMap
Fermé
ng73800
Messages postés
11
Date d'inscription
samedi 12 février 2011
Statut
Membre
Dernière intervention
24 décembre 2021
-
9 juil. 2020 à 11:54
ng73800 Messages postés 11 Date d'inscription samedi 12 février 2011 Statut Membre Dernière intervention 24 décembre 2021 - 12 juil. 2020 à 11:31
ng73800 Messages postés 11 Date d'inscription samedi 12 février 2011 Statut Membre Dernière intervention 24 décembre 2021 - 12 juil. 2020 à 11:31
A voir également:
- Convertir ArrayList vers TreeMap
- Convertir youtube en mp3 avec audacity - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Clavier qwerty vers azerty - Guide
- Convertir epub en kindle - Guide
2 réponses
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
Modifié le 9 juil. 2020 à 20:43
Modifié le 9 juil. 2020 à 20:43
Bonjour,
"Désolé pour la longueur du poste"
Aucun problème, s'il pouvait être tous aussi détaillé le forum serait bien plus agréable à lire :-)
"Voilà, je suis un peu perdu dans la découpe de mon code"
Tout d'abord il semble que la notion d'objet ne soit pas bien comprise, que ce soit "FileToTreeMap" ou "ReadSymptomDataFromFile", on est plutôt sur un nommage de méthodes, pas de classe.
S'il devait y avoir un objet ici, ce serait Symptom. Certes le fait qu'il soit assimilable à un String pourrait rendre la classe superflue, mais il n'empêche que pour ta conception de code et la manière de la découper c'est autour de la notion de Symptom que les classes devraient graviter, pas autour des File ou des Map qui les manipulent.
Pour reprendre la structure de l'interface ISymptomReader, je te suggère de créer la classe SymptomReader et d'y placer toutes les méthodes de lecture de Symptom, que ce soit celles te donnant une List ou celles te donnant une Map.
Par exemple :
"Désolé pour la longueur du poste"
Aucun problème, s'il pouvait être tous aussi détaillé le forum serait bien plus agréable à lire :-)
"Voilà, je suis un peu perdu dans la découpe de mon code"
Tout d'abord il semble que la notion d'objet ne soit pas bien comprise, que ce soit "FileToTreeMap" ou "ReadSymptomDataFromFile", on est plutôt sur un nommage de méthodes, pas de classe.
S'il devait y avoir un objet ici, ce serait Symptom. Certes le fait qu'il soit assimilable à un String pourrait rendre la classe superflue, mais il n'empêche que pour ta conception de code et la manière de la découper c'est autour de la notion de Symptom que les classes devraient graviter, pas autour des File ou des Map qui les manipulent.
Pour reprendre la structure de l'interface ISymptomReader, je te suggère de créer la classe SymptomReader et d'y placer toutes les méthodes de lecture de Symptom, que ce soit celles te donnant une List ou celles te donnant une Map.
Par exemple :
package com.hemebiotech.analytics; import java.io.*; import java.nio.file.*; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; public class SymptomReader implements ISymptomReader { private final Path path; public SymptomReader(String filePath) { path = Paths.get(filePath); } @Override public List<String> getSymptoms(){ try { return Files.readAllLines(path); } catch (IOException e) { throw new UncheckedIOException(e); } } public Map<String, Long> getSymptomsCount(){ try { return Files.lines(path).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); } catch (IOException e) { throw new UncheckedIOException(e); } } public static void main(String[] args) { SymptomReader reader = new SymptomReader("D:/symptoms.txt"); System.out.println(reader.getSymptoms()); System.out.println(reader.getSymptomsCount()); } }
ng73800
Messages postés
11
Date d'inscription
samedi 12 février 2011
Statut
Membre
Dernière intervention
24 décembre 2021
12 juil. 2020 à 11:31
12 juil. 2020 à 11:31
Merci pour ta réponse !
En effet le code est plus clair comme ça.
L'ancienne classe ReadSymptom est écrite en ancien Java.
Je vais étudier tout ça, merci encore.
En effet le code est plus clair comme ça.
L'ancienne classe ReadSymptom est écrite en ancien Java.
Je vais étudier tout ça, merci encore.