numerische Min-, Max-Werte in einem Vektor

Greq

Grünschnabel
Tag zusammen !

Habe folgenden Vektor:

alleWerte [83732.85, 79978.58, 74198.27, 68129.74, 105648.73, 42138.89, 29303.85, 17642.42, 16720.45, 103786.89]

und möchte die MIN/MAX - Werte erhalten.

Habe es über Collections versucht mit der Methode sort():

alleWerte [103786.89, 105648.73, 16720.45, 17642.42, 29303.85, 42138.89, 68129.74, 74198.27, 79978.58, 83732.85]

=> Die Methode scheint nur eine alphanumerische Sortierung vorzunehmen

und anschliessend min()/max().

=> min: 103786.89, max: 83732.85 [folgerichtig ist dies falsch, aufgrund der Sortierung]

Meine Frage ist nun: Wie erhalte ich die Min-/MAX-Werte aus dem Vektor und ist dies der richtige Weg oder geht's auch anders?

Gruss
Greq
 
Hallo!

Also ich weis nicht was du hast:
Java:
/**
 * 
 */
package de.tutorials;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * @author tom
 * 
 */
public class MinMaxList {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		List<Double> list = new ArrayList<Double>();
		list.add(83732.85);
		list.add(79978.58);
		list.add(74198.27);
		list.add(68129.74);
		list.add(105648.73);
		list.add(42138.89);
		list.add(29303.85);
		list.add(17642.42);
		list.add(16720.45);
		list.add(103786.89);
		System.out.println("Min: " + Collections.min(list));
		System.out.println("Max: " + Collections.max(list));
	}
}

Gruss Tom
 
Danke für den Hinweis mit <double> ! ;)
Mein Problem war, dass ich im Vector nur Objects hatte und keine Double-Werte
-> so konnte die MAX/MIN nicht klappen.

Mit der folgendenen Quellteständerung funktioniert die MIN/MAX-MEthode nun.

Vector alleWerte = tmp.getColumnData(klassAttrFeld.getSelectedItem().toString());
Vector <Double> doubleWerte = new Vector <Double> ();

for (int a = 0 ; a < alleWerte.size() ; a++ ){
doubleWerte.addElement(Double.parseDouble(alleWerte.elementAt(a).toString()));
}

Gruss
Greq
 
Hallo!

Anstatt:
Double.parseDouble(alleWerte.elementAt(a).toString())
wuerde ich in deinem Fall Double.valueOf(...) verwenden.

Gruss Tom
 
Zurück