Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).
Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.
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: