IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Comment faire un return de plusieurs ArrayList


Sujet :

Collection et Stream Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Points : 179
    Points
    179
    Par défaut Comment faire un return de plusieurs ArrayList
    Tout est dans le titre !!!!

    Comment peut on renvoyer plusieurs ArrayList d'une classe ? Doit on passer ces ArrayList dans son constructeur (par référence) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
     
    public class ReadCsv {
     
     
    	ArrayList<String> name = new ArrayList<String>();
    	ArrayList<Float> lat = new ArrayList<Float>();
    	ArrayList<Float> lon = new ArrayList<Float>();
    	int sizeList;
     
    	public ReadCsv(String file)	throws IOException {
    		String fileName = file;
    		this.loadCsv(fileName);
    		//this.print();
    	}
     
    	private void loadCsv(String fileName) throws IOException {
    		String ligne;
    		String[] result = new String[3];
    		BufferedReader buffer = new BufferedReader(new FileReader(
    				fileName));
     
    		while ((ligne = buffer.readLine()) != null) {
    			result = ligne.split(",");
    			name.add(result[0].replace("\"", ""));
    			lat.add(Float.valueOf(result[1].replace("\"", "")));
    			lon.add(Float.valueOf(result[2].replace("\"", "")));
     
    		}
    		buffer.close();
    	}
    }

  2. #2
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    tu devrais plutot faire une classe genre NomCoord, qui comporterait un String et deux float, puis faire un ArrayList de NomCoord.
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Points : 179
    Points
    179
    Par défaut
    Je me fourvoyais une fois de plus. Merci pour la lumière.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static void main(String[] args) throws IOException {
    		ArrayList<BasePoint> point = new ArrayList<BasePoint>();
    		ReadCsv csvData = new ReadCsv("geo.csv");
    		point = csvData.loadCsv();
    ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public class ReadCsv {
    	String fileName;
     
    	public ReadCsv(String file) throws IOException {
    		fileName = file;
    	}
     
    	public ArrayList<BasePoint> loadCsv() throws IOException {
    		ArrayList<BasePoint> point = new ArrayList<BasePoint>();
    		String ligne;
    		String[] result = new String[3];
    		BufferedReader buffer = new BufferedReader(new FileReader(fileName));
     
    		while ((ligne = buffer.readLine()) != null) {
    			result = ligne.split(",");
    			point.add(new BasePoint(result[0].replace("\"", ""), Float
    					.valueOf(result[1].replace("\"", "")), Float
    					.valueOf(result[2].replace("\"", ""))));
    		}
    		buffer.close();
     
    		return point;
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public class BasePoint {
    	private String name;
    	private float lat;
    	private float lon;
     
    	public BasePoint(String inName, float inLat, float inLon){
    		name = inName;
    		lat = inLat;
    		lon = inLon;
    	}
    	public String getName(){
    		return name; 
    	}
    	public float getLat(){
    		return lat; 
    	}	
    	public float getLon(){
    		return lon; 
    	}		
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire un serveur hébergeant plusieurs client simultanée
    Par Alexlesilex dans le forum Développement
    Réponses: 15
    Dernier message: 01/03/2007, 14h15
  2. Comment faire un Tri sur plusieurs champs
    Par guile153 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/07/2006, 12h52
  3. Comment faire pour choisir entre plusieur elements d'un filelist ?
    Par MegaBigBoss dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 21/07/2006, 18h51
  4. Réponses: 3
    Dernier message: 16/05/2006, 10h32
  5. Réponses: 6
    Dernier message: 15/02/2006, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo