originalflo
Grünschnabel
hi leute, bin neu hier und hoffentlich im richtigen bereich des forums gelandet.
ich hantiere momentan mit aufträgen rum. das heisst: ich bekomme aufträge in eine textdatei, muss diese auslesen, sortieren,... und dann anzeigen,...
dazu habe ich mir folgendes überlegt:
ein job wird als hashmap gespeichert --> komfortabler zugriff über z.b. job.get("jobnr")
die Klasse Job: mehrere Aufträge in ner Liste...
und jetzt das eigentliche problem: ich erzeuge 2 neue jobs, werfe diese in die job-liste - hol mir dann diese liste um mit ihr zu arbeiten. dies ist eigentlich eine "ArrayList of HashMaps" - zu sehen ist sie allerdings nur als "ArrayList of Objects". Casten wie im folgenden Beispiel zieht nicht (muss vielleicht auch nicht sein?).
meine eigentliche fragen: ist der ansatz komplett sch!@$§e oder gibt's einen trick um von object nach hashmap zu casten?
habt ihr andere ansatzvorschläge (mir gehts dabei hauptsächlich um die sortierung nach datum)?
danke für eure hilfe
grunz
flo
ich hantiere momentan mit aufträgen rum. das heisst: ich bekomme aufträge in eine textdatei, muss diese auslesen, sortieren,... und dann anzeigen,...
dazu habe ich mir folgendes überlegt:
ein job wird als hashmap gespeichert --> komfortabler zugriff über z.b. job.get("jobnr")
Code:
import java.util.*;
public class Job {
private Map job;
public Job(Date executionDate, int jobnr, String company, double longitude, double latitude) {
this.job = new HashMap();
this.add(executionDate, jobnr, company, longitude, latitude);
}
private void add(Date executionDate, int jobnr, String company, double longitude, double latitude) {
this.job.put("executionDate", executionDate);
this.job.put("jobnr", new Integer(jobnr));
this.job.put("company", company);
this.job.put("longitude", new Double(longitude));
this.job.put("latitude", new Double(latitude));
}
}
die Klasse Job: mehrere Aufträge in ner Liste...
Code:
import java.util.*;
public class JobList {
private ArrayList jobList;
public JobList() {
this.jobList = new ArrayList();
}
public void Add(Job job) {
this.jobList.add(job);
}
public ArrayList GetJobList() {
return this.jobList;
}
}
und jetzt das eigentliche problem: ich erzeuge 2 neue jobs, werfe diese in die job-liste - hol mir dann diese liste um mit ihr zu arbeiten. dies ist eigentlich eine "ArrayList of HashMaps" - zu sehen ist sie allerdings nur als "ArrayList of Objects". Casten wie im folgenden Beispiel zieht nicht (muss vielleicht auch nicht sein?).
meine eigentliche fragen: ist der ansatz komplett sch!@$§e oder gibt's einen trick um von object nach hashmap zu casten?
habt ihr andere ansatzvorschläge (mir gehts dabei hauptsächlich um die sortierung nach datum)?
Code:
import java.util.*;
public class TestJob {
private JobList jobList;
public TestJob() {
this.jobList = new JobList();
this.initJobs();
ArrayList jobs = this.jobList.GetJobList();
HashMap tJob;
for (int i=0; i<jobs.size(); i++) {
tJob = (HashMap)jobs.get(i);
System.out.println("job" + i + ":");
System.out.println("auftragsnummer: " + tJob.get("jobnr"));
System.out.println("firma: " + tJob.get("company"));
System.out.println("datum: " + tJob.get("executiondate"));
System.out.println("langitude: " + tJob.get("langitude"));
System.out.println("longitude: " + tJob.get("longitude"));
}
}
private void initJobs() {
this.jobList.Add(new Job(new Date(), 123456789, "blub ag", 43.123456, 9.234567));
this.jobList.Add(new Job(new Date(), 987654321, "muh ag", 33.123456, 7.234567));
}
public static void main(String[] args) {
TestJob tJob = new TestJob();
}
}
danke für eure hilfe
grunz
flo