05. marts 2003 - 17:19Der er
10 kommentarer og 1 løsning
Sætte værdier i Jlist ud fra værdi i en anden jlist
Hejsa, Jeg har en firma klasse og en omsætnings klasse. Et objekt af firma klassen består af en række strenge. Objekter af omsætnings klassen består af en række strenge og et firma objekt (da en omsætning er tilknyttet et firma)
Jeg har en firma-jlist hvis indhold kommer udfra en arraylist hvori der ligger firmaobjekterne. Jeg har så også en arraylist som består af alle omsætningsobjekterne. I en omsætnings jlist'en vil jeg så gerne vise netop de omsætninger som er høre til det firma der er markeret i den firma-jlisten. Hvordan gøres det lettes?
Det er meningen at man skal kunne rette i omsætningerne. Er det bedst blot at lave en søgning som laver en ny arrayliste eller?
Manuelle og semi-automatiske strategier for identitetsstyring virker - lige indtil nogen beder om dokumentation. For at undgå denne fare har DKTV taget kontrol over sin identitets- og adgangsstrategi.
firmaer = new ArrayList(); omsætninger = new ArrayList();
Firma firma1 = new Firma("Lego", "Danmark"); Firma firma2 = new Firma("Mærsk", "Danmark"); Firma firma3 = new Firma("Codecompletion", "Danmark"); Firma firma4 = new Firma("Tartan Pub", "Danmark"); Firma firma5 = new Firma("Buddy Holly", "Danmark");
public void setFirma(Firma firma) { this.firma = firma; } public void setOmsætning(String omsætning) { this.omsætning = omsætning; } public Firma getFirma() { return (this.firma); } public String getOmsætning() { return (this.omsætning); }
public String toString() {
StringBuffer toString = new StringBuffer(); toString.append(firma.getNavn() +" [Oms: "+omsætning+"]"); return new String(toString); } } } class Go { public static void main(String[] args) { new TestFrame().show(); } }
Er det meget svært at lave det sådan at når man marker et firma så vises dets omsætning istedet? Der er masser af elementer i din kode som jeg slet ikke kender. Jeg er ret newbie hvad angår java og især GUI.
Du skriver fx: for( int i = 0; i < omsætninger.size(); i++ ) { Omsætning oms = (Omsætning)omsætninger.get(i); if( oms.getFirma() == firma ) // samme memory adresse model.addElement(oms);
Der kopier man så de omsætnings elementer som passer på et firma i og smider dem over i listen. Men hvis man så vil rettet i omsætninger i omsætningsJlisten, så bliver man vel nød til at at foretage en søgning tilbage udfra de eksisterende oplysninger i den oprindelige omsætnings-arraylist og sende der parametre med som skal ændre. Eller er jeg helt galt på den?
Det eneste jeg ønsker at ændre er omsætning for det indeværende år, altså så man løbende kan opdater omsætningen for iår. Det er sådan at når jeg marker et firma firmaJlisten med musen så vises info om firmaet, og derfor vil jeg så gerne have lavet det sådan at også omsætningerne vises. Det kan man også sagtens lave ud fra den kode du har postet. Jeg tænkte bare om der var en mulighed for at undgå søgninger og direkte ændre i objekterne. Men det er klart at man er nød til at søge omsætningslisten igennem for de firmaer der matcher det firma der er vist i firmaJlisten.
Søgningen er ikke slem, du traverserer blot en liste til O(n) og getter elementer til O(1)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.