abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:55 | Nová verze

    Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).

    Ladislav Hagara | Komentářů: 1
    dnes 05:11 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | Nová verze

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    včera 19:33 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | IT novinky

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 2
    včera 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 1
    včera 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 6
    včera 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    včera 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 426 hlasů
     Komentářů: 18, poslední včera 18:34
    Rozcestník

    Dotaz: Dedeni od ArrayList

    7.8.2009 13:00 Adam Janota
    Dedeni od ArrayList
    Přečteno: 243×

    Dobry den, rad bych si vytvoril tridu zdedenou od tridy ArrayList, chci pridat pouze jednu metodu a to boolean metodu, ktera bude zjistovat, zda pro vsechny prvky seznamu plati

    a[i]=i;
    

    Zacal jsem takto:

    public class ArrayListCustom Integer  extends ArrayList Integer 
    {
        public ArrayListCustom()
        {
            super();
        }
        
        public boolean isLinear()
        {
        
        }
    }
    

    Ale v tele metody isLinear jsem se zasekl, protoze vlastne nevim, jak mohu pristupovat k prvkum toho seznamu. Muzete prosim poradit?

    Odpovědi

    7.8.2009 13:15 anonym
    Rozbalit Rozbalit vše Re: Dedeni od ArrayList

    neda se pro arraylist pouzit indexy a pak pristupovat ke kazdemu indexu zvlast?

    7.8.2009 13:19 chearius | skóre: 7 | blog: /dev/chearius | Heidelberg
    Rozbalit Rozbalit vše Re: Dedeni od ArrayList

    Resit se to da velmi jednoduse - deite od ArrayList, tudiz mate u objektu this pristup ke vsem public a protected metodam materske tridy. Implementace tridy s metodou isLinear muze vypadat treba takto:

    public class ArrayListCustom extends ArrayList<Integer> {
        public static final long serialVersionUID = 1l;
    
        public ArrayListCustom() {
            super();
        }
    
        public boolean isLinear() {
            boolean result = true;
    
            for (int i = 0; i < this.size(); i++) {
                if (this.get(i) != i) {
                    result = false;
                    break;
                }
            }
    
            return result;
        }
    }
    

    btw. pokud neplanujete psat tu tridu genericky, ale jen pro jeden typ (Integer), je lepsi v nazvu tridy kompletne vynechat definici generickeho typu. Viz kod v prikladu.

    S pozdravem, Marek Siller

    7.8.2009 14:17 Adam Janota
    Rozbalit Rozbalit vše Re: Dedeni od ArrayList

    To je presne ono, dekuji:)

    kouby avatar 7.8.2009 15:02 kouby | skóre: 27 | blog: init | Praha
    Rozbalit Rozbalit vše Re: Dedeni od ArrayList

    Trochu rychlejší řešení by mohla být iterace z obou stran. Pokud array list nabývá vetších rozměrů, tak je to i znatelné.

    Nejrychlejší řešení je však vytvořit vlastní handle na metody add, get. Poté by zjištění vaší linearity bylo konstantní.

    public class ArrayListCustom extends ArrayList<Integer> {
        public static final long serialVersionUID = 1L;
    
        public ArrayListCustom() {
            super();
        }
    
        public boolean isLinear() {
            for (int i = 0, size = this.size(), j = size - 1; i < size && j >= i; i++; j--) {
                if (this.get(i) != i || this.get(j) != j) {
                    return false;
                }
            }
            return true;
        }
    }
    

     

    That's thirty minutes away. I'll be there in ten.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.