Jak przekonwertować tablicę na listę (ArrayList) w Javie
Źródło: Rrtutors Dzisiaj dowiesz się o różnych sposobach konwersji tablicy na listę (ArrayList) i przyjrzysz się przykładom kodu w każdym z nich. Chociaż tablice są proste i łatwe w użyciu, mają wiele ograniczeń, takich jak stały rozmiar. Utrudnia to dodanie nowego elementu na początku i zmianę układu elementów. Dzięki Collections Framework możemy implementować listy, zestawy i kolejki na różne sposoby. Na przykład użycie uniwersalnej i elastycznej listy tablic (ArrayList). Istnieją trzy metody, których można użyć podczas konwertowania tablicy w Javie. Metody te obejmują:- Metoda naiwna lub brutalna siła.
- Metoda Arrays.asList() .
- Metoda Collections.addAll() .
Używanie metody naiwnej lub brutalnej siły
W tej metodzie z pustej tablicy tworzona jest lista, do której dodawany jest po kolei każdy element tablicy. Metoda działa po wykonaniu następujących czynności:- Zdobądź tablicę.
- Utwórz pustą listę.
- Wykonaj pętlę po elementach tablicy.
- Teraz dodaj każdy element do tablicy.
- Zwróć pełną listę.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class NaivemethodExample {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = new ArrayList<>();
for (T t : array) {
list.add(t);
}
return list;
}
public static void main(String args[])
{
String array[]
= { "Mangoes", "Oranges", "berries" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Metoda Arrays.asList().
Za pomocą metody Arrays.asList() tablica jest przekazywana do konstruktora List jako parametr do konstruktora. Aby przekonwertować tablicę na listę, wykonaj następujące kroki:- Zdobądź tablicę.
- Utwórz listę, przekazując tablicę jako parametr w konstruktorze listy.
- Zwróć pełną listę.
package asList;
import java.util.Arrays;
import java.util.List;
public class asListExample {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = Arrays.asList(array);
return list;
}
public static void main(String args[])
{
String array[]
= { "Mangoes", "Oranges", "berries" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Metoda Collections.addAll().
Ponieważ listy są częścią pakietu Collection w języku Java, tablicę można przekonwertować na listę za pomocą metody Collections.addAll() . Ta metoda konwertuje tablicę na listę, wykonując następujące kroki:- Otrzymujemy tablicę.
- Utwórz pustą listę.
- Przekonwertujmy tablicę na listę za pomocą metodycollections.addAll () .
- Zwracamy listę.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class collectionsall {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = new ArrayList<>();
Collections.addAll(list, array);
return list;
}
public static void main(String args[])
{
String array[]
= { "peas", "tomatoes", "water melons" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Wniosek:
Tablica: [groch, pomidory, arbuzy ] Lista: [groch, pomidory, arbuzy ]
Wstrzykiwanie zależności w Javie
Źródło: Medium W tym poście dowiesz się czym jest wstrzykiwanie zależności w Javie, gdzie jest stosowane i jakie korzyści daje programiście. Wstrzykiwanie zależności (DI) to proces zapewniania zewnętrznej zależności komponentowi oprogramowania. Wstrzykiwanie zależności ma na celu oddzielenie problemów związanych z tworzeniem obiektów od ich używania. Zasada osadzania zakłada, że obiekt lub funkcja chcąc skorzystać z danej usługi nie musi wiedzieć jak ją stworzyć. Zamiast tego odbierający „klient” (obiekt lub funkcja) otrzymuje swoje zależności z zewnętrznego kodu („wtryskiwacza”), którego nie jest świadomy. Oto dobry przykład. Kiedy klasa X korzysta z jakiejś funkcjonalności klasy Y, mówimy, że klasa X jest zależna od klasy Y. Wstrzykiwanie zależności pozwala na tworzenie obiektów zależnych poza klasą i udostępnia te obiekty klasie na różne sposoby. W tym przypadku tworzenie i wiązanie obiektów zależnych zostaje przeniesione poza klasę od nich zależną. Wzorzec wstrzykiwania zależności obejmuje trzy typy klas:- Klasa usług, która świadczy usługi klasie klienta.
- Klasa Klienta - klasa zależna od klasy usługi.
- Klasa wtryskiwacza to klasa, która wstrzykuje obiekt klasy usługi do klasy klienta.
Rodzaje wstrzykiwania zależności
Istnieją trzy rodzaje wstrzykiwania zależności:- Wstrzyknięcie konstruktora — gdy nastąpi wstrzyknięcie konstruktora , iniektor zapewnia usługę (zależność) za pośrednictwem konstruktora klasy klienta.
- Wstrzykiwanie settera — w tego typu wstrzykiwaniu (znanym również jako wstrzykiwanie właściwości) wtryskiwacz ujawnia zależność poprzez publiczną właściwość klasy klienta.
- Wstrzykiwanie metod — w przypadku tego typu wstrzykiwania klasa klienta implementuje interfejs, który deklaruje metody zapewniające zależność. Wstrzykiwacz używa tego interfejsu, aby zapewnić zależność klasie klienta.
Korzyści z wstrzykiwania zależności
Wdrożenie wstrzykiwania zależności daje nam następujące korzyści:- Ponowne wykorzystanie kodu.
- Łatwość refaktoryzacji.
- Łatwość testowania.
GO TO FULL VERSION