Przejdź do głównej zawartości

Posty

Wyświetlanie postów z marzec, 2019

Hermetyzacja raz jeszcze - java + static

Korzyści z hermetyzacji : możliwość zmianny tylko w obrębie klasy np z getName ---> return firstName + " " + lastName zamiast pierwotnego return name ograniczamy dostępność tylko do wyznaczonych parti kodu - ustawiamy dla pola private ale nie ustawiamy gettera do tego pola łatwosć w testowaniu  łatwiejsze ponowne używanie programu Modifikator static: powoduje ze nie potrzeba tworzyć obiektu klasy aby mieć dostęp do jego metod. Java przeszukuje wszystkie modyfikatory dostępu static aby dla wszystkich metod stworzyć po jednej instancji metody Zmienne będące w statycznej metodzie muszą również być statyczne aby umozliwić uruchomienie metody / programu W statycznej metodzie nie stosujemy this. gdyż nie odwołujemy się do instancji która może zostać nie zainicjalizowana Statyczna zmienna nie może być zainicjalizowana w metodzie statycznej gdyż dochodzi do problemu w którym moemncie zainicjalizować zmienną A - w moemencie startu programu B - w momencie wywoła

Java Collection - Kolekcje w Java

Podział kolekcji w Java-ie: Implementowane są interfejsy kolor zielony w klasach kolor fiolet Kolekcje mogą być generyczne i niegeneryczne generyczne - zdefiniowany typ jaki będą przechowywać niegeneryczne - przechowują wszystko co do nich wpadnie co w nich umieścimy ArrayList : wolniejsze w manipulacji elementy sa obok siebie wolne dodawanie elementów LinkedList : szybkie umieszczanie obiektów wolniejsze odczytywanie szukanie Linkedlist – dodawanie elementów tam gdzie jest miejsce w pamięci i jednoczesne dodawanie referencji gdzie ten element się znajduje, to jest plus w kontekście ArrayList która musi przenieść cały ArrayList jeśli braknie miejsca. LinkedList pamięta referencje do lokowanych obiektów. Obiekt w LinkedList jest jakby opakowywany tj zawiera informacje nie tylko o sobie ale również posiada referencje do poprzednika i następnika.  Obiekt w LinkedList zawiera:  Obiekt sam w sobie  Ref do następnika  Ref do poprzednika  Wrapper

Array-1 > middleWay

Given 2 int arrays, a and b, each length 3, return a new array length 2 containing their middle elements. middleWay([1, 2, 3], [4, 5, 6]) → [2, 5] middleWay([7, 7, 7], [3, 8, 0]) → [7, 8] middleWay([5, 2, 9], [1, 4, 5]) → [2, 4] Proste rozwiązanie - nie bierze pod uwagę iż szeregi mogą mieć różna długość public int sum2 ( int [] nums ) { if ( nums . length >= 2 ) return ( nums [ 0 ] + nums [ 1 ]); if ( nums . length == 1 ) return nums [ 0 ]; return 0 ; } Rozwiązanie umożliwiające podjęcie środkowego indeksu bez względu na różnice długości poszczególnych arrayów public int [] middleWay ( int [] a , int [] b ) { int [] newNums = new int [ 2 ]; newNums [ 0 ]= a [ 0 +( a . length - 0 )/ 2 ]; newNums [ 1 ]= b [ 0 +( b . length - 0 )/ 2 ]; return newNums ; }