JavaRush /Java Blog /Random-KO /커피 브레이크 #217. Java에서 목록을 초기화하는 방법. Java 생산성을 향상시키는 7가지 간단...

커피 브레이크 #217. Java에서 목록을 초기화하는 방법. Java 생산성을 향상시키는 7가지 간단한 방법: 팁 및 예

Random-KO 그룹에 게시되었습니다

Java에서 목록을 초기화하는 방법

출처: FreeCodeCamp 이 기사에서는 실제 예제와 함께 Java의 다양한 목록 초기화 방법을 다룹니다. 커피 브레이크 #217.  Java에서 목록을 초기화하는 방법.  Java 생산성을 향상시키는 7가지 간단한 방법: 팁 및 예 - 1Java 언어의 기본 데이터 구조 중 하나는 List 입니다 . 이를 통해 개발자는 일련의 요소를 저장하고 관리할 수 있습니다. Java에서 목록을 초기화하는 것은 목록의 초기 상태를 정의 하고 추가 작업을 위해 준비하기 때문에 개발 프로세스에서 중요한 단계입니다. Java에서 목록을 초기화하는 방법은 다양하며 , 선택은 프로젝트의 특정 요구 사항에 따라 다릅니다.
  • ArrayList 생성자를 사용합니다 .
  • add() 메소드를 사용합니다 .
  • Arrays.asList() 메소드를 사용합니다 .
  • Stream.of() 메소드 사용 .
이러한 방법을 자세히 살펴보겠습니다.

ArrayList 생성자를 사용하여 목록을 초기화하는 방법

Java에서 ArrayList 클래스는 동적 배열 인터페이스 List 의 구현으로 , 필요에 따라 목록에서 요소를 추가하고 제거할 수 있습니다. ArrayList 클래스는 클래스의 인스턴스를 생성하기 위한 여러 생성자를 제공합니다. 초기 용량 없이 ArrayList 객체를 생성하는 구문은 다음과 같습니다.
ArrayList<Object> list = new ArrayList<Object>();
인수가 없는 생성자는 초기 용량이 10개 요소인 빈 목록( List )을 만듭니다. 목록이 이 용량을 초과하는 경우 ArrayList 클래스는 더 큰 새 배열을 만들고 이전 배열의 요소를 새 배열로 복사하여 자동으로 용량을 늘립니다. 또는 하나의 정수 인수가 있는 생성자를 사용하여 초기 용량이 있는 ArrayList 객체를 생성할 수 있습니다. 여기서 용량은 목록의 초기 용량입니다.
ArrayList<Object> list = new ArrayList<Object>(capacity);
값으로 List를 초기화하려면 Collection을 인수로 사용하는 생성자를 사용할 수 있습니다 . 다른 ArrayList 또는 LinkedList 와 같이 Collection 인터페이스를 구현하는 모든 컬렉션 개체를 이 생성자에 전달할 수 있습니다 . 컬렉션의 요소는 컬렉션에 나타나는 순서대로 새 ArrayList 에 추가됩니다. 다음은 ArrayList를 생성하고 Collection을 취하는 생성자를 사용하여 값으로 초기화하는 방법에 대한 예입니다 .
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]
    }
}
이 예에서는 정수 배열을 만든 다음 이를 Arrays.asList() 메서드에 전달하여 List 개체를 만듭니다 . 그런 다음 이 List 개체를 ArrayList 생성자 에 전달하여 원래 배열과 동일한 요소를 가진 새 ArrayList를 만듭니다 . 마지막으로 System.out.println() 메서드를 사용하여 목록의 내용을 인쇄합니다 .

add() 메소드를 사용하여 List를 초기화하는 방법

add() 메소드는 Java에서 컬렉션이나 목록에 요소를 추가하는 데 널리 사용됩니다. 이 메소드는 List , SetMap 을 포함하여 Java의 여러 컬렉션 유형에 사용할 수 있습니다 . add() 메서드는 하나의 인수(컬렉션에 추가할 요소)를 사용합니다. vList 에 요소를 추가할 때 add () 메서드 는 특히 유용합니다. Java의 목록은 중복 항목을 포함할 수 있는 정렬된 컬렉션이기 때문입니다. add() 메서드를 사용하면 목록 끝에 요소를 추가할 수 있으므로 일부 초기 값으로 목록을 초기화하는 편리한 방법이 됩니다. 다음은 add() 메소드를 사용하여 Java에서 목록을 초기화하는 방법의 예입니다 .
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);
    }
}
이 예에서는 먼저 myList 라는 새 ArrayList를 만듭니다 . 그런 다음 add() 메서드를 사용하여 목록 끝에 세 개의 문자열("apple", "banana" 및 "cherry")을 추가합니다. 그런 다음 System.out.println() 메서드를 사용하여 목록의 내용을 인쇄합니다 . 프로그램을 실행하면 출력은 다음과 같습니다.
[사과, 바나나, 체리]

Arrays.asList() 메소드를 사용하여 List를 초기화하는 방법

Java의 내장 Arrays.asList() 메소드는 배열을 목록으로 변환합니다. 이 메소드는 배열을 인수로 사용하고 List 객체를 반환합니다 . Arrays.asList() 메소드 에 의해 반환된 객체는 고정 크기 목록입니다. 즉, 여기에 요소를 추가하거나 제거할 수 없습니다. Arrays.asList() 메서드를 사용하여 Java에서 목록을 초기화하려면 다음 단계를 따라야 합니다. 먼저 목록을 초기화하려는 요소의 배열을 선언하겠습니다. 예를 들어, "사과", "바나나", "오렌지"라는 세 가지 요소로 목록을 초기화한다고 가정합니다. 여기서는 다음과 같이 배열을 선언할 수 있습니다.
String[] fruits = {"apple", "banana", "orange"};
그런 다음 Arrays.asList() 메서드를 호출 하고 배열을 인수로 전달합니다. 그러면 배열 요소가 포함된 List 개체 가 반환됩니다 .
List<String> fruitList = Arrays.asList(fruits);
이제 FruitList 객체를 사용하여 목록의 요소에 액세스할 수 있습니다. 예를 들어 목록을 반복하고 각 요소를 인쇄할 수 있습니다.
for (String fruit : fruitList) {
    System.out.println(fruit);
}
결론:
사과 바나나 오렌지
Arrays.asList() 메서드는 새 List 객체를 생성하는 것이 아니라 원래 배열의 List 객체 표현을 반환한다는 점에 유의하는 것이 중요합니다 . 즉, 원래 배열을 변경하면 변경 사항이 List 객체에도 반영됩니다 . 예를 들어:
fruits[0] = "pear";
System.out.println(fruitList.get(0)); // Вывод: pear
위의 예에서는 과일 배열의 첫 번째 요소를 "배"로 변경했습니다 . FruitList 객체 의 첫 번째 요소에 접근하면 "배"도 얻게 됩니다. 왜냐하면 FruitList 는 단순히 과일 배열 을 표현하기 때문입니다 .

Stream.of() 메소드를 사용하여 List를 초기화하는 방법

Stream.of()는 Java 8 이상에서 java.util.stream 패키지에 제공되는 편리한 메소드입니다 . 기본 유형, 배열 및 객체를 포함하여 모든 유형의 요소 스트림을 만드는 데 사용됩니다. 이 메서드는 하나 이상의 인수를 사용하고 해당 인수로 구성된 스트림을 반환합니다. Stream.of() 메소드의 구문 :
Stream<T> stream = Stream.of(t1, t2, t3, ..., tn);
여기서 T 는 스트림에 있는 요소의 유형이고, t1 과 최대 tn 은 스트림에 포함되어야 하는 요소입니다. Stream.of() 메서드를 사용하여 Java에서 목록을 초기화하려면 다음을 수행해야 합니다.
  1. 먼저 java.util.stream 패키지를 가져옵니다 .

  2. 그런 다음 생성자를 사용하여 원하는 ArrayList 유형의 목록을 만듭니다. 예를 들면 다음과 같습니다.

    List<String> myList = new ArrayList<>();
  3. Stream.of() 메서드를 사용하여 목록을 초기화 하고 원하는 요소를 인수로 전달한 다음, Collect() 메서드를 사용하여 스트림 요소를 목록으로 수집합니다. 예:

    myList = Stream.of("Apple", "Banana", "Cherry", "Date")
                  .collect(Collectors.toList());
  4. 그런 다음 목록을 인쇄하여 내용을 확인할 수 있습니다.

    System.out.println(myList);

    결론:

    [사과, 바나나, 체리, 대추]

결론

Java에서 목록을 초기화하는 것은 상당히 일반적인 프로그래밍 작업이며 이를 수행하는 방법에는 여러 가지가 있습니다. 이 문서에 설명된 단계를 따르면 Stream.of() 메서드 를 사용하여 원하는 요소가 포함된 목록을 쉽게 만들고 초기화할 수 있습니다 . 이 접근 방식은 간결하고 유연하며, 적은 수의 요소로 목록을 초기화해야 할 때 특히 유용할 수 있습니다. 즐거운 코딩하세요!

Java 생산성을 향상시키는 7가지 간단한 방법: 팁 및 예

출처: 중간 다음은 Java 개발자의 생산성을 향상시키는 데 도움이 되는 7가지 실용적인 팁을 선별한 것입니다. 몇 가지 간단한 팁을 따르면 Java 애플리케이션의 성능을 향상시킬 수 있습니다.

1. 객체 대신 기본 유형을 사용하십시오.

// Плохо: использование an object 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. 불필요한 객체 생성을 피하세요.

// Плохо: использование конкатенации строк с помощью '+'
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. 올바른 데이터 구조를 사용하십시오.

// Плохо: использование 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. 메소드 호출을 최소화하십시오.

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

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

5. 정적 및 최종 수정자를 사용하십시오.

// Плохо: создание ненужных экземпляров an objectов
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. 상황에 적합한 알고리즘을 사용하십시오.

// Плохо: использовать линейный поиск для большой коллекции
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. 주기를 최적화하세요.

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

// Хорошо: минимизация вызовов методов в цикле
for (int i = 0; i < 1000000; i++) {
    String str = "String " + i;
    // ...
}
이것은 생산성을 향상시킬 수 있는 몇 가지 간단한 Java 트릭이었습니다. 성능 최적화는 어려울 수 있으며 개발자는 성능 병목 현상을 식별하기 위해 코드를 분석해야 하는 경우가 많다는 점을 명심하세요.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION