tie chyby sú samopopisné
treba sa to naučiť čítať a riešiť... to je úplný základ....
prv k tej druhej, čo si vyriešil... si tam mal prípad, kedy ti to nevrátilo z tej metódy nič... potrbeuješ mať vždy nejaký návrat - v tomto prípade to znamená, že alebo vrátiš ten nájdený predmet - alebo vrátiš null - takže presne tak ako si to urobil - teraz ale ide o to, že si musíš dať pozor na to, keď s tým budeš pracovať - aby si ošetril prípad, keď sa daná vec v miestnosti nenachádza... takže po hľadaní veci sa hodí skontrolovať, či sa rovná null (tj. taká vec v miestnosti nie je)
teraz tá prvá vec... ty sa pokúšaš použiť triedu ako premennú (resp. ako metódu)... potrebuješ najprv urobiť objekt daného typu (tj. objekt typu Key) a až potom ho môžeš priradiť do toho listu (v liste sú vždy objekty, nie triedy)
na vytvorenie objektu sa používa "new" - to by si mal vedieť, to je základ...
kód ti nenapíšem, len keby si sa veľmi trápil s tým
už mi bolo vyčítané, že ponúkam riešenia zbytočne priamo
a že mám nechávať riešiť to vás, len vám pomôcť tým, že vás navediem na to a vysvetlím