JAVA

[JAVA] String 배열에서 값 삭제하기

오선지♬ 2024. 12. 1. 13:05
728x90
반응형

Java는 String[]크기가 고정된 배열을 모아, 배열에서 값을 삭제하려면 새로운 배열을 생성하거나

다른 데이터 구조로 변환해야 합니다.

 

1. 새로운 배열 생성

String[]특정 값을 삭제하면 사용할 수 있는 값을 제외하고 새로운 배열을 사용할 수 있습니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String[] array = {"apple", "banana", "cherry", "date"};
        String valueToRemove = "banana";

        String[] newArray = Arrays.stream(array)
                                  .filter(s -> !s.equals(valueToRemove))
                                  .toArray(String[]::new);

        System.out.println(Arrays.toString(newArray)); // [apple, cherry, date]
    }
}

 

2. 리스트로변환

배열을 리스트로 변환한 후 값을 삭제하고, 다시 배열로 변환할 수 있습니다.

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

public class Main {
    public static void main(String[] args) {
        String[] array = {"apple", "banana", "cherry", "date"};
        String valueToRemove = "banana";

        List<String> list = new ArrayList<>(Arrays.asList(array));
        list.remove(valueToRemove);

        String[] newArray = list.toArray(new String[0]);
        System.out.println(Arrays.toString(newArray)); // [apple, cherry, date]
    }
}

 

3. ArrayList사용

배열 대신에 배열 ArrayList을 사용하면 크기가 변경될 수 있으므로 쉽게 값을 사용할 수 있습니다.

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

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("cherry");
        list.add("date");

        list.remove("banana");
        System.out.println(list); // [apple, cherry, date]
    }
}
728x90
반응형