Byla vydána verze 3.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Byla vydána nová verze 8.8 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled oprav, vylepšení a novinek v oficiálním oznámení.
Byla vydána nová major verze 11.0.0 nástroje mitmproxy určeného pro vytváření interaktivních MITM proxy pro HTTP a HTTPS komunikaci. Přehled novinek v příspěvku na blogu. Vypíchnuta je plná podpora HTTP/3 a vylepšená podpora DNS.
Richard Hughes na svém blogu představil nejnovější major verzi 2.0.0 nástroje fwupd umožňujícího aktualizovat firmware zařízení na počítačích s Linuxem. Podrobný přehled novinek v poznámkách k vydání. Přehled podporovaných zařízení, nejnovějších firmwarů a zapojených výrobců na stránkách LVFS (Linux Vendor Firmware Service).
Počítačová hra Kvark (Steam) od studia Perun Creative dospěla do verze 1.0 (𝕏). Běží také na Linuxu.
Byla vydána (𝕏) zářijová aktualizace aneb nová verze 1.94 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.94 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
O víkendu 5. a 6. října se koná ne-konference jOpenSpace. Pokud si chcete kouzlo živých přednášek vychutnat společně s námi, sledujte live streamy: sobota a neděle. Začínáme lehce po 9 hodině ranní. Zpracované záznamy jsou obvykle k dispozici do 14 dní na našem YouTube kanále.
Hodiny s unixovým časem dnes odbily 20 000 dnů. Unixový čas je počet sekund uplynulých od půlnoci 1. ledna 1970. Dnes ve 02:00 to bylo 1 728 000 000 sekund, tj. 20 000 dnů.
Notebook NitroPad V56 od společnosti Nitrokey byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.
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?
neda se pro arraylist pouzit indexy a pak pristupovat ke kazdemu indexu zvlast?
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
To je presne ono, dekuji:)
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; } }
Tiskni Sdílej: