programing

자바 : String []을 List 또는 Set으로 변환하는 방법

nasanasas 2020. 12. 27. 11:04
반응형

자바 : String []을 List 또는 Set으로 변환하는 방법


이 질문에 이미 답변이 있습니다.

String [] (Array)을 ArrayList 또는 HashSet과 같은 Collection으로 변환하는 방법은 무엇입니까?


Arrays.asList ()가 여기서 트릭을 수행합니다.

String[] words = {"ace", "boom", "crew", "dog", "eon"};   

List<String> wordList = Arrays.asList(words);  

Set으로 변환하려면 다음과 같이 할 수 있습니다.

Set<T> mySet = new HashSet<T>(Arrays.asList(words)); 

가장 쉬운 방법은 다음과 같습니다.

String[] myArray = ...;
List<String> strs = Arrays.asList(myArray);

편리한 Arrays 유틸리티 클래스를 사용합니다 . 당신은 할 수 있습니다

List<String> strs = Arrays.asList("a", "b", "c");

Collections.addAll은 가장 짧은 (한 줄) 영수증을 제공합니다.

갖는

String[] array = {"foo", "bar", "baz"}; 
Set<String> set = new HashSet<>();

다음과 같이 할 수 있습니다.

Collections.addAll(set, array); 

java.util.Arrays.asList(new String[]{"a", "b"})

어쨌든 오래된 코드입니다.

import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class StringArrayTest
{
   public static void main(String[] args)
   {
      String[] words = {"word1", "word2", "word3", "word4", "word5"};

      List<String> wordList = Arrays.asList(words);

      for (String e : wordList)
      {
         System.out.println(e);
      }
    }
}

정말로 세트를 사용하고 싶다면 :

String[] strArray = {"foo", "foo", "bar"};  
Set<String> mySet = new HashSet<String>(Arrays.asList(strArray));
System.out.println(mySet);

산출:

[foo, bar]

이것이이 질문에 대한 답은 아니지만 유용하다고 생각합니다.

배열과 컬렉션은 하드 변환을 수행 할 필요가 없도록 Iterable로 변환 할 수 있습니다.

예를 들어, 목록 / 배열을 구분자를 사용하여 문자열로 결합하기 위해 이것을 작성했습니다.

public static <T> String join(Iterable<T> collection, String delimiter) {
    Iterator<T> iterator = collection.iterator();
    if (!iterator.hasNext())
        return "";

    StringBuilder builder = new StringBuilder();

    T thisVal = iterator.next();
    builder.append(thisVal == null? "": thisVal.toString());

    while (iterator.hasNext()) {
        thisVal = iterator.next();
        builder.append(delimiter);
        builder.append(thisVal == null? "": thisVal.toString());
    }

    return builder.toString();
}

iterable을 사용하면 String...변환 할 필요없이 ArrayList 또는 매개 변수 와 함께 사용하는 것과 유사하게 공급할 수 있습니다.


가장 쉬운 방법은

Arrays.asList(stringArray);

String[] w = {"a", "b", "c", "d", "e"};  

List<String> wL = Arrays.asList(w);  

참조 URL : https://stackoverflow.com/questions/11986593/java-how-to-convert-string-to-list-or-set

반응형