Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2020-11-08, 14:56
  #13
Medlem
[quote=bosscs2|73524735]
Citat:
Ursprungligen postat av erkki17
Endera med en for-loop:
Kod:
MyObj foundObj = null;
for (MyObj obj : myList) {
    if (obj.getIntField() == 5) {
        foundObj = obj;
    }
}

Är getIntField metoden en standardlösning vid den här typen av problem? Aldrig hört talas om den tidigare och har inte eclipse här att prova metoden mot.
Jag skrev getIntField eftersom jag inte vet vad ditt objekts attribut heter. Du byter ut min placeholder mot ditt objekts get-metod för det fält som håller int-värdet.
Citera
2020-11-08, 17:21
  #14
Medlem
I en uppgift ska vi skapa arraylist<objekt>annanKlass
i aktuell klass med objekt från en annan klass.
Varför skapar man en arraylist med objekt från en annan klass? Luddig fråga men vad finns det för anledningar?
Citera
2020-11-08, 17:53
  #15
Medlem
Citat:
Ursprungligen postat av bosscs2
I en uppgift ska vi skapa arraylist<objekt>annanKlass
i aktuell klass med objekt från en annan klass.
Varför skapar man en arraylist med objekt från en annan klass? Luddig fråga men vad finns det för anledningar?
Jag vet inte om jag förstår din fråga, men du kanske har missuppfattat uppgiften?

En ArrayList är bara en behållare där du får styra vilken typ av objekt den ska innehålla, vilket bestäms av det som ryms inom vinkelparenteserna.

T.ex. om jag vill skapa en lista innehållandes objekt av typen String skapar jag den enligt följande:
Kod:
List<String> myStringList = new ArrayList<String>();
Citera
2020-11-08, 19:18
  #16
Medlem
Om jag vill söka efter ett objekt i en arraylist efter enbart en parameter, kan man göra det på ett enkelt sätt?

ArrayList <person> humans = new ArrayList ();
humans.add(new person("Steffe",43));
humans.add(new person("Stoffe",72));

Vill söka efter en instans innehållande int 72, hur gör jag?
Citera
2020-11-08, 20:18
  #17
Medlem
Citat:
Ursprungligen postat av erkki17
Endera med en for-loop:
Kod:
MyObj foundObj = null;
for (MyObj obj : myList) {
    if (obj.getIntField() == 5) {
        foundObj = obj;
    }
}

Eller med streams:
Kod:
MyObj foundObj = myList.stream().filter(o -> o.getIntField() == 5).findFirst().orElse(null);

Citat:
Ursprungligen postat av bosscs2
Om jag vill söka efter ett objekt i en arraylist efter enbart en parameter, kan man göra det på ett enkelt sätt?

ArrayList <person> humans = new ArrayList ();
humans.add(new person("Steffe",43));
humans.add(new person("Stoffe",72));

Vill söka efter en instans innehållande int 72, hur gör jag?
Du gör precis enligt samma devis som jag beskrev i mitt första inlägg (som jag citerat här). Du byter bara ut getIntField mot get-metoden för int-fältet i din klass Person.
Citera
2020-11-08, 20:58
  #18
Medlem
Citat:
Ursprungligen postat av erkki17
Du gör precis enligt samma devis som jag beskrev i mitt första inlägg (som jag citerat här). Du byter bara ut getIntField mot get-metoden för int-fältet i din klass Person.

Ah! för att nå index nr 1 i objektet (78) behöver jag göra en get metod, det går inte att nå värdet med en for loop utan en get metod på ett enkelt sätt?
Citera
2020-11-08, 21:04
  #19
Medlem
Citat:
Ursprungligen postat av bosscs2
Ah! för att nå index nr 1 i objektet (78) behöver jag göra en get metod, det går inte att nå värdet med en for loop utan en get metod på ett enkelt sätt?
Precis, en klass fungerar så att inget data delas automatiskt till omvärlden. Vill du kunna komma åt ett objekts egenskaper måste du göra dessa publika och skapa get- och set-metoder (för åtkomst respektive tilldelning).
Citera
2020-11-08, 21:24
  #20
Moderator
Protons avatar
Citat:
Ursprungligen postat av erkki17
Precis, en klass fungerar så att inget data delas automatiskt till omvärlden. Vill du kunna komma åt ett objekts egenskaper måste du göra dessa publika och skapa get- och set-metoder (för åtkomst respektive tilldelning).
Nja...

I java skulle jag ju vilja ha alla attribut i en klass private eller protected, däremot behöver deras get och setmetoder vara publika om de ska fylla nån funktion, speciellt i det här fallet.
Citera
2020-11-08, 21:27
  #21
Medlem
Citat:
Ursprungligen postat av Proton
Nja...

I java skulle jag ju vilja ha alla attribut i en klass private eller protected, däremot behöver deras get och setmetoder vara publika om de ska fylla nån funktion, speciellt i det här fallet.
Det var det jag menade, men det blev kanske lite klumpigt uttryckt, eller åtminstone grovt förenklat.
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback