long[] aus SQL-Abfrage

Status
Nicht offen für weitere Antworten.

guni

Bekanntes Mitglied
Hallo,

habe eine SQL Tabelle der Form

id1, name1,
id2, name1,
id3, name1,
id4, name2,
id5, name2,
id6, name2

id is ein primärschlüssel; name kann öfter vorkommen
ich will jetzt in java eine funktion tabelle mit folgender signatur schreiben:
Code:
private HashMap<String,long[]> tabelle()
darin soll die Tabelle abgebildet werden; das sollte dann ca. so aussehen:

name1 -> [id1,id2,id3]
name2 -> [id4,id5,id6]

fällt euch dazu ein halbwegs effizienter Algorhytmus ein?
derzeit schaut das bei mir ca. so aus:
Code:
    private HashMap<String,long[]> tabelle() throws SQLException {
        HashMap<String,long[]> tabelle = new HashMap<String,long[]>();
        String query = "SELECT name, id FROM tabelle ORDER BY name";
        ResultSet r = Init.q.executeQuery(query);
        String new_name, old_name = null;
        ArrayList<Long> folders = new ArrayList<Long>();
        while (r.next()){
            new_name = r.getString("name");
            folders.add(r.getLong("id"));
            if (!old_name.equals(new_name)) { // wenn neuer name gefunden
                tabelle.put(new_name,folders.toArray());
                folders.clear();
            }
            old_name = new_name;
        }
        return tabelle;
    }
an und für sich bin ich mit dem Code glaub ich ganz gut unterwegs ...
mein Problem:
ein folders.toArray() gibt mir ein Object[] zurück; ich brauche aber (für einen API-Aufruf) ein long[] ...
gibt es da einen schöneren Weg als noch eine Funktion zur Umwandlung von Object[]->long[] zu schreiben???
gibt es vielleicht überhaupt eine elegantere Möglichkeit das Ganze zu schreiben???

mfg, guni
 
G

Guest

Gast
Code:
    private HashMap<String,long[]> tabelle() throws SQLException {
        HashMap<String,long[]> tabelle = new HashMap<String,long[]>();
        String query = "SELECT name, id FROM tabelle ORDER BY name";
        ResultSet r = Init.q.executeQuery(query);
        String new_name, old_name = null;
        ArrayList<Long> folders = new ArrayList<Long>();
        while (r.next()){
            new_name = r.getString("name");
            folders.add(r.getLong("id"));
            if (!old_name.equals(new_name)) { // wenn neuer name gefunden
                // Eingefügt
                long[] array = new long[folders.size);
                for (int i = 0; i < folders.size(); i++) {
                    array[i] = folders.get(i);
                }
                tabelle.put(new_name,array);
                // Eingefügt Ende
                folders.clear();
            }
            old_name = new_name;
        }
        return tabelle;
    }
 

guni

Bekanntes Mitglied
danke. aber genau das wollte ich mir eigentlich ersparen ;-)
in wirklichkeit hast du ja nix anderes gemacht, als das du da eine eigene .toArray() "Funktion" eingebaut hast ...

lg, guni
 

setsuna9

Mitglied
mit
Code:
folders.toArray(new Long[folders.size()])
bekommst du wenigstens Long[], aber nicht long[]

Mit der Bibliothek Apache Commons Primitives kannst du statt ArrayList<Long> ArrayLongList benutzen, da macht die Methode toArray() ein long[] daraus. Die Methode macht auch nichts anderes als ein Iterator nehmen, über alle Elemente durchgehen und in den long-Array reinschreiben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
krgewb Long wird gerundet Java Basics - Anfänger-Themen 2
Eule25 Arbeit mit long und int, Error: integer number too large Java Basics - Anfänger-Themen 2
javapingu Hex String zu long Java Basics - Anfänger-Themen 2
J Long Typ Java Basics - Anfänger-Themen 4
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
I Klassen Eine ArrayList<Long>, die sich automatisch sortiert Java Basics - Anfänger-Themen 20
O Long[] in long Java Basics - Anfänger-Themen 3
D Compiler-Fehler Java long und int Java Basics - Anfänger-Themen 1
Harlequin Compiler-Fehler Text Adventure - "Long Output" Fehler Java Basics - Anfänger-Themen 3
W The type Long is not visible HashMap Java Basics - Anfänger-Themen 4
Hanschyo String kann nicht Werte von Long annehmen Java Basics - Anfänger-Themen 2
Orkanson Long Binär darstellen Java Basics - Anfänger-Themen 1
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
E Von Double zu Long umwandeln Java Basics - Anfänger-Themen 9
J Datentypen Literal überschreitet long-Range, dennoch als long an Variable übergeben Java Basics - Anfänger-Themen 9
T Bitte um Hilfe bei Aufgabe: Long zahl = Long.parseLong(args [0]); Java Basics - Anfänger-Themen 3
K Erste Schritte switch - Warum sind long/float/double/... nicht erlaubt? Java Basics - Anfänger-Themen 5
F Char in Long umwandeln? Java Basics - Anfänger-Themen 2
M Frage Long Wert in Java Java Basics - Anfänger-Themen 1
A Long in BigInteger Java Basics - Anfänger-Themen 3
T long wird ohne Nachkommastellen ausgegeben Java Basics - Anfänger-Themen 5
G Long und Frage zum Speicherplatz eines Arrays Java Basics - Anfänger-Themen 7
S OOP long prüfen Java Basics - Anfänger-Themen 5
B map.remove(long) Java Basics - Anfänger-Themen 5
G Rechnen mit Long Variablen Java Basics - Anfänger-Themen 4
N Zufälliger Long Java Basics - Anfänger-Themen 15
SheldoN Zahlen die über long-Wert hinausragen Java Basics - Anfänger-Themen 4
H TreeMap<> statt TreeMap<Long, String> Java Basics - Anfänger-Themen 2
SheldoN Gibt es größere Datentypen als long? Java Basics - Anfänger-Themen 2
G Long oder int Vorzeichen entfernen Java Basics - Anfänger-Themen 3
M Datentypen Calender TimeInMillis - long number erzeugen? Java Basics - Anfänger-Themen 2
D Konvertierung UnsignedInt zu long Java Basics - Anfänger-Themen 5
A long Wert in hexadezimales Array umwandeln Java Basics - Anfänger-Themen 3
A string bitweise in long umwandeln Java Basics - Anfänger-Themen 7
A Konvertierung String-->hex-->long Java Basics - Anfänger-Themen 7
O 64bit- OS byte, short, int oder long bzw. float oder double? Java Basics - Anfänger-Themen 13
G Datentypen Ein long[]-Array. Java Basics - Anfänger-Themen 5
G Datentypen Eclipse akzeptiert 'long' nicht Java Basics - Anfänger-Themen 2
N Mit long rechnen Java Basics - Anfänger-Themen 2
W Long to String Java Basics - Anfänger-Themen 7
B Long als Eingabeaufforderung Java Basics - Anfänger-Themen 3
H Long (64Bit) in 2 int (32Bit) zerlegen Java Basics - Anfänger-Themen 2
S Long und Float Frage Java Basics - Anfänger-Themen 2
N Datentypen Wurzel aus long ziehen Java Basics - Anfänger-Themen 4
O Runden - x/100 liefert long zurück Java Basics - Anfänger-Themen 7
A mdoulo methode mit long Java Basics - Anfänger-Themen 9
Binary.Coder Skalarprodukt mittels long und binärzahlen Java Basics - Anfänger-Themen 5
A Long zu Double Java Basics - Anfänger-Themen 4
B (long)1e9 Java Basics - Anfänger-Themen 6
V wozu ist das 'L' beim long notwendig ? Java Basics - Anfänger-Themen 5
J Länge eines long wertes Java Basics - Anfänger-Themen 13
S Division von long! Java Basics - Anfänger-Themen 4
Spot84 long von getCreationDate in String umwandeln Java Basics - Anfänger-Themen 4
S Probleme beim Umwandeln von Long nach Int Java Basics - Anfänger-Themen 4
G String in Long casten Java Basics - Anfänger-Themen 2
N long geteilt durch long gleich null ? Java Basics - Anfänger-Themen 8
G int gleich long ? Java Basics - Anfänger-Themen 2
J A Long. way Java Basics - Anfänger-Themen 10
T Probleme mit long Java Basics - Anfänger-Themen 2
G NumberFormatException bei double und long Java Basics - Anfänger-Themen 11
G long zu kurz Java Basics - Anfänger-Themen 5
G long datum splitten in day etc Java Basics - Anfänger-Themen 23
G Konvertierung String in long type Java Basics - Anfänger-Themen 15
G Zahlen >long verwenden Java Basics - Anfänger-Themen 7
G Problem beim rechenen mit long Java Basics - Anfänger-Themen 3
G long oder double Java Basics - Anfänger-Themen 15
C Long -> String -> ArrayList adden -> Exception Java Basics - Anfänger-Themen 4
M long in byte[] konvertieren und wieder zurück Java Basics - Anfänger-Themen 2
S long millisekunden nach Uhrzeit format Java Basics - Anfänger-Themen 5
M Quersumme einer long zahl Java Basics - Anfänger-Themen 4
M long Datentyp effizient mit Daten füllen Java Basics - Anfänger-Themen 2
F Long umwandeln und auf 2 Dezimalen runden? Java Basics - Anfänger-Themen 14
G long in string Java Basics - Anfänger-Themen 6
G long-Zeitwert Java Basics - Anfänger-Themen 11
P "Line too long" bei der Generierung des jars. Java Basics - Anfänger-Themen 5
B String <> long --- Das ist doch nicht inkonvertibel? Java Basics - Anfänger-Themen 4
F Long zu 2 int und zurück Java Basics - Anfänger-Themen 3
G Hexadezimalzahl von String in Long umwandeln Java Basics - Anfänger-Themen 3
P von long zu int umwandeln? Java Basics - Anfänger-Themen 3
A formatieren long(bytes) -> String Java Basics - Anfänger-Themen 2
T long in Vector speichern Java Basics - Anfänger-Themen 16
G "cannot convert from long to int" - problem Java Basics - Anfänger-Themen 9
G Vergleich zweier 'long'-Werte. Problem! Java Basics - Anfänger-Themen 6
M long nach String casten Java Basics - Anfänger-Themen 2
N x.toString(x); umwandlung von long in String Java Basics - Anfänger-Themen 3
P Wie mach ich aus Int ein Double oder Long ? Java Basics - Anfänger-Themen 6
N unsigned int to long Java Basics - Anfänger-Themen 5
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
L If Abfrage Java Basics - Anfänger-Themen 4
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
W if-Abfrage bei ArrayList-Methodenaufrufen - Wie löse ich das? Java Basics - Anfänger-Themen 6
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
G Taschenrechner ergibt Fehler in if-Abfrage Java Basics - Anfänger-Themen 6
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben