Array List sortieren / auswerten

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ciao Miteinander

Ich wollte fragen wie es mir möglich ist aus meiner Array List (long) den Tiefsten und den Höchsten Wert auszulesen?

Habe es bereits so versucht:
Code:
Collections.min(meineArrayList)

Jedoch bekomme da ich irgendwie nicht die korrekten Resultate...

Gibt es einen anderen Weg, oder mache ich was Falsch?

thx & Greetz
 

L-ectron-X

Gesperrter Benutzer
Das funktioniert bei mir:
Code:
import java.util.*;

public class CollectionsTest {
   public static void main(String[] args) {
      Vector v = new Vector();
      v.add(3456789012L);
      v.add(4567890123L);
      v.add(1234567890L);
      v.add(5678901234L);
      v.add(2345678901L);
      
      System.out.println(Collections.min(v));
      System.out.println(Collections.max(v));
   }
}
 

masta // thomas

Bekanntes Mitglied
Was heißt denn, du bekommst da nicht die richtigen Resultate? Es ist schon richtig, es mit Collections#min() zu machen.
 
R

Ramon

Gast
Welche Daten speicherst Du denn in der ArrayList? Die Klassen muessen auch irgendwie verglichen werden. Bei den einfachen Datentypen int, long, float, double sollte das aber kein problem sein.
 
G

Guest

Gast
also ich habe eine Schleife welche mehrmals durchlaufen wird, jedesmal wird ein neuer Wert in die Liste geschrieben und der Mindest Wert neu ausgelesen.
Ich bekomme folgende Wert:

ArrayList: 350
Min: 350

ArrayList: 365, 140
Min: 140

ArrayList: 365,140,220
Min: 140

ArrayList: 365,140,220,1121
Min: 1121

Danach bleibt der Min wert 1121

Hatte noch nie jemand dieses Problem?

In der Array Liste stehen Werte mit dem Datentyp long.
 
G

Guest

Gast
Uuppss,

Ja du hast recht, habe die Daten bevor ich sie in die Liste geschrieben habe noch in Strings umgewandelt...


wie kann ich dann von einem Object zu einem logn bzw. Integer konvertieren?

greets und bereits danke viel mal!
 
G

Guest

Gast
ok Danke viel mal das mit dem auslesen des Min/Max Wertes funktioniert jedoch bekomme ich nun eine

ClassCastException.

Und zwar möchte ich den Wert aus der Liste in eine Long Variabel speichern.
Hier unten das Beispiel wie das genau aussieht:

Zuerst speichern der Werte in die List:
Code:
long getTime = 300;
timeList.add(getTime);

Nun auslesen aus der Liste (hier wird die Exception ausgelösst):

Code:
long minTime= Long.parseLong((String) Collections.min(timeList));

Weiss zufällig jmd was daran falsch ist?

thx
 

Leroy42

Top Contributor
l
Code:
ong getTime = 300; 
timeList.add(getTime);

Wenn das so funktioniert, bedeutet es, daß du Java > 1.5 benutzst,
das über Autowrapping verfügt. D.h., daß dein long-Wert
automatisch in ein Long gepackt wird.

Damit stehen natürlich auch Longs und keine Strings
in deiner Liste.
 
G

Guest

Gast
Ja es stehen long in meiner Liste, habe es bereits verbessert, zuvor stand
Code:
timeList.add(String.valueOf(getTime)
Jedoch kann ich diese Longs nicht aus der Liste lesen (siehe mein Post oben)...[/quote]
 
S

SlaterB

Gast
ich verschiedenen deiner Posts stehen verschiedene Probleme,

mal eine falsche Sortierung da Strings alphabetisch und nicht nach Zahlwert sortiert werden,
mal irgendwas Richtung ClassCastException, Casten oder Autoboxing,

alles wurde mehr oder weniger schon thematisiert und zu einfachen Lösungen geführt,

was ist aktuell das Problem?
soll man sich was aussuchen und die Antworten dazu wiederholen oder wie..

30 Zeilen aktuellen Code zu posten bringt niemanden um
 
G

Guest

Gast
sorry falls es etwas unverständlich war, also ich versuche es nocheinmal...

Hier wird zuerst ein Wert (long) in die ArrayList geschrieben

Code:
    for(int i=0;i<countUrsl;i++) {
       sendRequest();	// Hier wird ein Request gesendet und die Antwortzeit wird in der long Variabel averageTime gespeichert
       saveRequestTime.add(averageTime);    //Diese wird hier in die ArrayList geschrieben
    }
   paintChart(requestPerMin, saveRequestTime, countUrls); // Die Methode paintChart wird geöffnet

Code:
public void paintChart(final long requestPerMin, final List saveRequestTimes, int countUrls) {
		
	saveRequestTime=saveRequestTimes;
	minTime = Long.parseLong((String) Collections.min(saveRequestTimes));    // Hier soll die Min Zeit aus der Array List gelesen werden und in die long Variabel minTime geschrieben werden
	maxTime = (long) Long.parseLong((String) Collections.max(saveRequestTimes));			 // Hier soll die Max Zeit aus der Array List gelesen werden und in die long Variabel maxTime geschrieben werden
	
	[ . . . ] // hier wird mit der maxTime und minTime ein Diagramm gezeichnet...
}


Nun bekomme ich die Fehlermeldung
java.lang.ClassCastException: java.lang.Long

Beim 2. Code Zeile 5 wird dieser Fehler erzeugt...

War das nun verständlicher??
 
S

SlaterB

Gast
du hast Long in der Liste drin und willst Strings auslesen,
da keine Strings drin sind gibt es ein Exception wenn du Strings auslesen willst,

so ist das immer wenn man Strings will aber nicht Strings da sind,
String != Long,
das eine ist Long, das andere ist String,
Long != String,

ist das nicht schon längst bekannt in diesem Thread? ;)

minTime = Long.parseLong((String) Collections.min(saveRequestTimes));

->
minTime = Collections.min(saveRequestTimes);
 

FelixB

Bekanntes Mitglied
Gast hat gesagt.:
SlaterB hat gesagt.:
minTime = Collections.min(saveRequestTimes);

Das Problem hier ist das ich nicht von einem Object zu einem long convertieren kann,
bekomme einen Fehler....

wieso Object?

"saveRequestTimes" ist eine ArrayList. Diese füllst du mit "long"-Werten.

"Collections.min()" liefert das kleinste Elment gemäß einer Sortierung. Wenn du eine ArrayList mit "long" hast, liefert min() auch ein "Long" zurück.

gib doch mal bitte die komplette Fehlermeldung...
 
G

Guest

Gast
hm weiss halt nicht genau, wenn ich es auf jedenfalls so mache, wird es direkt im Eclipse als Fehler angezeigt:

Type mismatch: Cannot convert from Object to long

Und falls ich es versuche in einen long zu konvertieren
Code:
Long.parseLong((String) Collections.min(saveRequestTimes));
bekomme ich den Fehler:

Code:
Exception in thread "main" org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.ClassCastException: java.lang.Long)
	at org.eclipse.swt.SWT.error(SWT.java:2691)
	at org.eclipse.swt.SWT.error(SWT.java:2616)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:109)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
	at ch.siemens.m2y.tools.httprequestapplication.HttpRequestTool.main(HttpRequestTool.java:1350)
 

FelixB

Bekanntes Mitglied
Anonymous hat gesagt.:
Und falls ich es versuche in einen long zu konvertieren
Code:
Long.parseLong((String) Collections.min(saveRequestTimes));



probiers mal mit

Code:
minTime = (long) Collections.min(saveRequestTimes);


Hintergund: Collections.min() hat als Rückgabewert ein Object. du weißt aber, dass es sich dabei um einen long handelt. also kannst du in long konvertieren.
 
G

Gast

Gast
FelixB hat gesagt.:
probiers mal mit

Code:
minTime = (long) Collections.min(saveRequestTimes);

Habe ich bereits versucht bekomme jedoch auch den Fehler

Cannot convert Object to long...
 

FelixB

Bekanntes Mitglied
ach... long ist ein primitiver Datentyp. Probier mal, zu "Long" zu casten - also großgeschrieben.
 
G

Gast

Gast
FelixB hat gesagt.:
ach... long ist ein primitiver Datentyp. Probier mal, zu "Long" zu casten - also großgeschrieben.

Ja so funktioniert es!
Herzlichen Dank allen, ihr habt mir sehr geholfen!
 

Leroy42

Top Contributor
Code:
minTime = Collections.min(saveRequestTimes);

Kann auch nicht funktionieren, da der Compiler ein Object
als Rückgabe von min() erwartet.

Mit Autounwrapping mußt du es so schreiben:

Code:
minTime = (Long) Collections.min(saveRequestTimes);

Edit: Uuuppss! Es gab ja schon eine zweite Seite :oops:
 

Leroy42

Top Contributor
Tja, man wird alt: :(

Alte_08.jpg
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
J Array.list vergleichen Java Basics - Anfänger-Themen 1
L Datentypen Array List Java Basics - Anfänger-Themen 9
J String Array zu Map<Character, List<Character>> mit Streams Java Basics - Anfänger-Themen 1
W Stream Array List - Frage Java Basics - Anfänger-Themen 5
X Array List geordnet ausgeben. (JSF und JAVA) Java Basics - Anfänger-Themen 1
E Array-list mit einer bestimmten Länge Java Basics - Anfänger-Themen 17
M Methode überladen - Array List Java Basics - Anfänger-Themen 5
L Linked List - Array List Java Basics - Anfänger-Themen 2
D Bestimmten Wert aus Array List ausgeben Java Basics - Anfänger-Themen 7
P Anlegen und Abfragen von Array List Java Basics - Anfänger-Themen 4
C Array List mit String vergleichen und Fehlermeldung ausgeben Java Basics - Anfänger-Themen 6
F Wozu braucht man array list? Java Basics - Anfänger-Themen 29
M Array List ausgeben Java Basics - Anfänger-Themen 13
A List Array - wie instanzieren Java Basics - Anfänger-Themen 7
S Einen neuen String ohne Array oder List erzeugen??? Java Basics - Anfänger-Themen 13
R ARRAY/List die sich immer wieder von vorne neu auffüllt ? Java Basics - Anfänger-Themen 21
J Array List - Über die Konsole eingeben Java Basics - Anfänger-Themen 1
M Array List Objekt Entfernen Java Basics - Anfänger-Themen 15
-horn- Doppelte Einträge entfernen, aus Array, List oder sonstwas Java Basics - Anfänger-Themen 9
I viele Dateinamen in ein String-Array mit File().list() Java Basics - Anfänger-Themen 4
B Java Array List größe auslesen zur Suchfunktion Java Basics - Anfänger-Themen 5
P guck ob Element in Array List enthalten ist Java Basics - Anfänger-Themen 2
D Dyn Array oder Array List Java Basics - Anfänger-Themen 10
G Min und Max Wert aus Array List lesen Java Basics - Anfänger-Themen 3
G array list - identifier expected Java Basics - Anfänger-Themen 4
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
L Frage zum Array Java Basics - Anfänger-Themen 1
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
Lion.King Array deklarieren und initialisieren Java Basics - Anfänger-Themen 5
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
AkiJou Zeile in 2d Array löschen Java Basics - Anfänger-Themen 2
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben