Newsgroup: it.comp.java
Titolo: Inserire oggetti in Array...

Salve, devo inserire degli elementi in un array per effettuare un
ordinamento, ma (data la poca esperienza con Java) non ci riesco...
(grazie ai consigli di Brontolo..)
ho creato una classe:
class Articolo {
	public static void AssegnaArticolo (String line){
		StringTokenizer st = new StringTokenizer(line);
		String primo = st.nextToken();
		String secondo = st.nextToken();
		int id = Integer.parseInt(primo);
		double rank = Double.parseDouble(secondo);
	}
}
creare gli Articoli...
poi devo inserire questi articoli in un Array... quindi
                Articolo[] articoli;
                int i = 0;
		while (line!= null)
		{
			Articolo.AssegnaArticolo(line);
			?
		}
gli articoli sono presenti in un file... quindi "line" sono le linee
che leggo da questo file..
e sono nel formato:
1 9.288
2 9.1
3 8.989
4 8.8
5 9.6
quindi 1,2,3,4,5 sono gli id e 9.288, 9.1, 8.989, 8.8  sono i valori
rank che questi id assumono..
il mio problema è ordinare i rank e alla fine ottenere il risultato
che mi mostri sia id che rank..
però non capisco come possa inserire gli articoli che creo
nell'array..
qualcuno può aiutarmi?
grazie mille!!!

 qualcuno può aiutarmi?
Se ho capito (non è facile...) qual'è il problema: se non conosci a
priori il numero di items tu dovresti usare una collection invece di un
array, in particolare una ArrayList, dopodichè recuperi l'array
tramite il metodo toArray.
Per l'ordinamento, usa il metodo Arrays.sort(). Per stabilire come gli
oggetti devono essere ordinati, fai in modo che la classe Articolo
implementi Comparable e scrivi nel metodo compareTo() la logica di
comparazione per l'ordinamento naturale della tua classe.
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Arrays.html#sort(java.lang.Object[])

 tramite il metodo toArray.
ok, però mi sa che il mio è un problema di fondo.. quando la classe
Articolo, creo l'
ArrayList <Articolo> al = new ArrayList <Articolo>();
poi alla classe Articolo gli passo la linea che estraggo dal file
Articolo.AssegnaArticolo(line);
ora arriva il mio problema.. come faccio ad inserire gli elementi nella
ArrayList?

 ArrayList?
qualcosa tipo: 
al.add(articolo);

 Articolo.AssegnaArticolo(line);
Quindi quell'array di articoli non lo usi mai alla fine?
Mi sa che succedono un po' di casini con questo codice ^^
Saluti
CarMas

 una volta estratti, cioe' dove/come li memorizzi.
questo è il codice completo...
	public static void main (String [] args) throws IOException{
		String line = "";
		BufferedReader in = null;
		in = new BufferedReader(new InputStreamReader( new
FileInputStream("file.txt"));
		line= in.readLine();
		ArrayList <Articolo> al = new ArrayList <Articolo>();
		while (line!= null)
		{
			Articolo.AssegnaArticolo(line);
			Articolo art = new Articolo();
			al.add(art);
			line = in.readLine();
		}
		System.out.println(al.size());
		Object[] alArray = al.toArray();
	}
}
class Articolo implements Comparable {
	public static void AssegnaArticolo (String line){
		StringTokenizer st = new StringTokenizer(line);
		 String primo = st.nextToken();
		String secondo = st.nextToken();
		int id = Integer.parseInt(primo);
		double rank = Double.parseDouble(secondo);
	 }
	public int compareTo(Object o1) {
        }
}
Tutto ciò è uscito da alcuni consigli recepiti su it.comp.java
Ovviamente il compareTo non so come scriverlo...
(posto che quello che sta sopra sia corretto!!!)