JavaRush /Blog Java /Random-PL /Przerwa kawowa #217. Jak zainicjować listę w Javie. 7 pro...

Przerwa kawowa #217. Jak zainicjować listę w Javie. 7 prostych trików zwiększających produktywność w Javie: wskazówki i przykłady

Opublikowano w grupie Random-PL

Jak zainicjować listę w Javie

Źródło: FreeCodeCamp W tym artykule omówiono różne metody inicjowania list w Javie z praktycznymi przykładami. Przerwa kawowa #217.  Jak zainicjować listę w Javie.  7 prostych trików zwiększających produktywność w Javie: wskazówki i przykłady - 1Jedną z podstawowych struktur danych w języku Java jest Lista . Umożliwia programistom przechowywanie zestawu elementów i zarządzanie nimi. Inicjowanie Listy w Javie jest ważnym krokiem w procesie rozwoju, ponieważ definiuje początkowy stan Listy i przygotowuje ją do dalszych operacji. Istnieją różne sposoby inicjowania listy w Javie, wybór zależy od konkretnych wymagań projektu:
  • Korzystanie z konstruktora ArrayList .
  • Korzystanie z metody add() .
  • Korzystanie z metody Arrays.asList() .
  • Korzystanie z metody Stream.of() .
Przyjrzyjmy się bliżej tym metodom.

Jak zainicjować listę za pomocą konstruktora ArrayList

W Javie klasa ArrayList jest implementacją dynamicznego interfejsu tablicowego List , umożliwiającego dodawanie i usuwanie elementów z listy w razie potrzeby. Klasa ArrayList udostępnia kilka konstruktorów umożliwiających utworzenie instancji klasy. Składnia tworzenia obiektu ArrayList bez początkowej pojemności jest następująca:

ArrayList<Object> list = new ArrayList<Object>();
Konstruktor bezargumentowy tworzy pustą listę ( List ) o początkowej pojemności 10 elementów. Jeśli lista przekracza tę pojemność, klasa ArrayList automatycznie zwiększa pojemność, tworząc nową, większą tablicę i kopiując elementy ze starej tablicy do nowej tablicy. Alternatywnie możemy utworzyć obiekt ArrayList o początkowej pojemności, używając konstruktora z jednym argumentem w postaci liczby całkowitej, gdzie pojemność jest początkową pojemnością listy:

ArrayList<Object> list = new ArrayList<Object>(capacity);
Aby zainicjować Listę wartościami, możemy użyć konstruktora, który jako argument przyjmuje Kolekcję . Do tego konstruktora możesz przekazać dowolny obiekt kolekcji, który implementuje interfejs Collection , taki jak inny obiekt ArrayList lub LinkedList . Elementy kolekcji są dodawane do nowej ArrayList w kolejności, w jakiej pojawiają się w kolekcji. Oto przykład tworzenia tablicy ArrayList i inicjowania jej wartościami przy użyciu konstruktora pobierającego kolekcję :

import java.util.ArrayList;
import java.util.Arrays;

public class Example {
    public static void main(String[] args) {
        // создаем массив целых чисел
        Integer[] array = {1, 2, 3, 4, 5};

        // создаем список из массива
        ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(array));

        // печатаем список
        System.out.println(list); // [1, 2, 3, 4, 5]
    }
}
W tym przykładzie tworzymy tablicę liczb całkowitych, a następnie przekazujemy ją do metody Arrays.asList() w celu utworzenia obiektu List . Następnie przekazujemy ten obiekt List do konstruktora ArrayList , aby utworzyć nową ArrayList z tymi samymi elementami, co oryginalna tablica. Na koniec wypisujemy zawartość listy za pomocą metody System.out.println() .

Jak zainicjować listę za pomocą metody add().

Metoda add() jest szeroko stosowana w Javie do dodawania elementów do kolekcji lub listy. Ta metoda jest dostępna dla kilku typów kolekcji w Javie, w tym List , Set i Map . Metoda add() przyjmuje jeden argument — element, który ma zostać dodany do kolekcji. Jeśli chodzi o dodawanie elementów do listy vList , metoda add() jest szczególnie przydatna, ponieważ listy w Javie to uporządkowane kolekcje, które mogą zawierać duplikaty. Metodę add() można wykorzystać do dodawania elementów na końcu listy, co czyni ją wygodnym sposobem inicjowania listy pewnymi wartościami początkowymi. Oto przykład użycia metody add() do zainicjowania listy w Javie:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        // создаем новый ArrayList
        List<String> myList = new ArrayList<>();

        // добавляем элементы в список, используя метод the add() 
        myList.add("apple");
        myList.add("banana");
        myList.add("cherry");

        // печатаем содержимое списка
        System.out.println(myList);
    }
}
W tym przykładzie najpierw tworzymy nową ArrayList o nazwie myList . Następnie używamy metody add() , aby dodać trzy ciągi znaków („jabłko”, „banan” i „wiśnia”) na koniec listy. Następnie drukujemy zawartość listy za pomocą metody System.out.println() . Po uruchomieniu programu wynik będzie następujący:
[jabłko, banan, wiśnia]

Jak zainicjować listę przy użyciu metody Arrays.asList().

Wbudowana w Javę metoda Arrays.asList() konwertuje tablicę na listę. Ta metoda przyjmuje tablicę jako argument i zwraca obiekt List . Obiekt zwracany przez metodę Arrays.asList() jest listą o stałym rozmiarze, co oznacza, że ​​nie możemy dodawać ani usuwać z niej elementów. Aby użyć metody Arrays.asList() do zainicjowania listy w Javie, musimy wykonać następujące kroki: Najpierw zadeklarujmy tablicę elementów, którymi chcemy zainicjować listę. Załóżmy na przykład, że chcemy zainicjować listę składającą się z trzech elementów: „jabłko”, „banan” i „pomarańcza”. Tutaj możemy zadeklarować tablicę w następujący sposób:

String[] fruits = {"apple", "banana", "orange"};
Następnie wywołujemy metodę Arrays.asList() i przekazujemy tablicę jako argument. Spowoduje to zwrócenie obiektu List zawierającego elementy tablicy.

List<String> fruitList = Arrays.asList(fruits);
Teraz możemy użyć obiektu FruitList , aby uzyskać dostęp do elementów listy. Na przykład możemy iterować po liście i drukować każdy element:

for (String fruit : fruitList) {
    System.out.println(fruit);
}
Wniosek:
jabłko banan pomarańcza
Należy zauważyć, że metoda Arrays.asList() nie tworzy nowego obiektu List , ale raczej zwraca obiekt List reprezentujący oryginalną tablicę . Oznacza to, że jeśli zmienimy oryginalną tablicę, zmiany zostaną odzwierciedlone także w obiekcie List . Na przykład:

fruits[0] = "pear";
System.out.println(fruitList.get(0)); // Вывод: pear
W powyższym przykładzie zmieniliśmy pierwszy element tablicy Fruits na „gruszka”. Gdy uzyskamy dostęp do pierwszego elementu obiektu FruitList , otrzymamy również „gruszkę”, ponieważ FruitList jest po prostu reprezentacją tablicy Fruits .

Jak zainicjować listę za pomocą metody Stream.of().

Stream.of() to wygodna metoda dostępna w Javie 8 i nowszych wersjach pakietu java.util.stream . Służy do tworzenia strumienia elementów dowolnego typu, w tym typów pierwotnych, tablic i obiektów. Ta metoda pobiera jeden lub więcej argumentów i zwraca strumień składający się z tych argumentów. Składnia metody Stream.of() :

Stream<T> stream = Stream.of(t1, t2, t3, ..., tn);
Tutaj T jest typem elementów w strumieniu, a t1 i dalej aż do tn to elementy, które powinny zostać uwzględnione w strumieniu. Aby zainicjować listę w Javie przy użyciu metody Stream.of() , musisz wykonać następujące czynności:
  1. Najpierw zaimportuj pakiet java.util.stream .

  2. Następnie użyj konstruktora, aby utworzyć listę żądanego typu ArrayList, na przykład:

    
    List<String> myList = new ArrayList<>();
  3. Zainicjuj listę za pomocą metody Stream.of() , przekazując żądane elementy jako argumenty, a następnie użyj metodycollect () w celu zebrania elementów strumienia do listy, na przykład:

    
    myList = Stream.of("Apple", "Banana", "Cherry", "Date")
                  .collect(Collectors.toList());
  4. Możemy wówczas wydrukować listę i sprawdzić jej zawartość.

    
    System.out.println(myList);

    Wniosek:

    [Jabłko, Banan, Wiśnia, Daktyl]

Wniosek

Inicjowanie listy w Javie jest dość powszechnym zadaniem programistycznym i można to zrobić na kilka sposobów. Wykonując kroki opisane w tym artykule, możemy łatwo utworzyć i zainicjować Listę z żądanymi elementami za pomocą metody Stream.of() . To podejście jest zwięzłe i elastyczne i może być szczególnie przydatne, gdy musimy zainicjować listę zawierającą małą liczbę elementów. Miłego kodowania!

7 prostych trików zwiększających produktywność w Javie: wskazówki i przykłady

Źródło: Medium Oto wybór siedmiu praktycznych wskazówek, których przestrzeganie pomoże zwiększyć produktywność programisty Java. Możesz poprawić wydajność aplikacji Java, stosując się do kilku prostych wskazówek.

1. Używaj typów pierwotnych zamiast obiektów:


// Плохо: использование obiektа Integer 
Integer count = 0;
for (int i = 0; i < 1000000; i++) {
    count++;
}

// Хорошо: использование примитива int
int count = 0;
for (int i = 0; i < 1000000; i++) {
    count++;
}

2. Unikaj tworzenia niepotrzebnych obiektów:


// Плохо: использование конкатенации строк с помощью '+' 
String str = "";
for (int i = 0; i < 10000; i++) {
    str += i;
}

// Хорошо: использование StringBuilder 
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10000; i++) {
    sb.append(i);
}
String str = sb.toString();

3. Użyj poprawnej struktury danych:


// Плохо: использование List для частого поиска
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
// ...
if (names.contains("Charlie")) {
    // ...
}

// Хорошо: использование HashSet для частого поиска
Set<String> names = new HashSet<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
// ...
if (names.contains("Charlie")) {
    // ...
}

4. Zminimalizuj wywołania metod:


// Плохо: вызов метода внутри цикла 
for (int i = 0; i < 1000000; i++) {
    doSomething(i);
}

// Хорошо: выносим метод за пределы цикла
for (int i = 0; i < 1000000; i++) {
    // ...
}
doSomething(i);

5. Użyj modyfikatorów statycznych i końcowych:


// Плохо: создание ненужных экземпляров obiektов 
public class MyClass {
    private int value;
    public void setValue(int value) {
        this.value = value;
    }
    public int getValue() {
        return value;
    }
}
MyClass obj = new MyClass();
obj.setValue(10);
int value = obj.getValue();

// Хорошо: использование статических и финальных модификаторов
public class MyClass {
    private static final int DEFAULT_VALUE = 0;
    private final int value;
    public MyClass(int value) {
        this.value = value;
    }
    public int getValue() {
        return value;
    }
}
MyClass obj = new MyClass(10);
int value = obj.getValue();

6. Zastosuj algorytm odpowiedni do sytuacji:


// Плохо: использовать линейный поиск для большой коллекции
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// ...
int target = 7;
for (int i = 0; i < nums.size(); i++) {
    if (nums.get(i) == target) {
        // ...
    }
}
// Хорошо: использование бинарного поиска для большой коллекции
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// ...
int target = 7;
int index = Collections.binarySearch(nums, target);
if (index >= 0) {
    // ...
}

7. Zoptymalizuj swoje cykle:


// Плохо: вызов метода внутри цикла
for (int i = 0; i< 1000000; i++) {
    String str = getString(i);
    // ...
}

// Хорошо: минимизация вызовов методов в цикле
for (int i = 0; i < 1000000; i++) { 
    String str = "String " + i; 
    // ... 
}
To tylko kilka prostych trików w Javie, które mogą poprawić Twoją produktywność. Należy pamiętać, że optymalizacja wydajności może być wyzwaniem, a programista często będzie musiał przeanalizować swój kod, aby zidentyfikować wąskie gardła wydajności.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION