programing

문자열 배열을 java.util로 변환하고 있습니다.목록.

goodcopy 2022. 10. 27. 22:07
반응형

문자열 배열을 java.util로 변환하고 있습니다.목록.

변환 방법String에 배열하다.java.util.List?

List<String> strings = Arrays.asList(new String[]{"one", "two", "three"});

배열의 목록 보기입니다. 목록은 부분적으로 수정할 수 없으며 요소를 추가하거나 삭제할 수 없습니다.단, 시간의 복잡도는 O(1)입니다.

변경 가능한 목록을 원하는 경우

List<String> strings = 
     new ArrayList<String>(Arrays.asList(new String[]{"one", "two", "three"}));

그러면 소스 어레이의 모든 요소가 새 목록으로 복사됩니다(복잡도: O(n)).

스태틱을 사용List list = Arrays.asList(stringArray)또는 어레이를 반복하여 문자열을 목록에 추가할 수도 있습니다.

import java.util.Collections;

List myList = new ArrayList();
String[] myArray = new String[] {"Java", "Util", "List"};

Collections.addAll(myList, myArray);

가장 심플한 접근법:

String[] stringArray = {"Hey", "Hi", "Hello"};

List<String> list = Arrays.asList(stringArray);

첫 번째 순서에서는 Arrays.asList()를 사용하여 목록인스턴스를 작성해야 합니다.

String[] args = new String[]{"one","two","three"};
List<String> list = Arrays.asList(args);//it converts to immutable list

다음으로 'list' 인스턴스를 전달해야 합니다.new ArrayList();

List<String> newList=new ArrayList<>(list);

Java 8 및 Stream API를 사용할 수 있습니다.Arrays.stream그리고.Collectors.toList:

String[] array = new String[]{"a", "b", "c"};
List<String> list = Arrays.stream(array).collect(Collectors.toList());

이는 특히 목록에서 추가 작업을 수행할 경우 유용합니다.

String[] array = new String[]{"a", "bb", "ccc"};
List<String> list = Arrays.stream(array)
                          .filter(str -> str.length() > 1)
                          .map(str -> str + "!")
                          .collect(Collectors.toList());

Java 14에서는 이 작업을 수행할 수 있습니다.

List<String> strings = Arrays.asList("one", "two", "three");

결과가 읽기 전용 목록인 경우 List.Of(nameOfArray)를 사용할 수 있습니다.

@Test
public void shouldMapArrayToList(){
    // given
    var testArray = new String[]{"1", "2", "3" };

    // when
    List<String> result = List.of(testArray);

    // then
    assertEquals("1", result.get(0));
    assertEquals("2", result.get(1));
    assertEquals("3", result.get(2));
}

언급URL : https://stackoverflow.com/questions/6026813/converting-string-array-to-java-util-list

반응형