문자열을 Array List로 변환하는 방법
String에서는 임의의 수의 단어를 쉼표로 구분하여 사용할 수 있습니다.각 단어를 Array List에 추가하려고 했습니다.예:
String s = "a,b,c,d,e,.........";
이런 걸 해 봐
List<String> myList = new ArrayList<String>(Arrays.asList(s.split(",")));
데모:
String s = "lorem,ipsum,dolor,sit,amet";
List<String> myList = new ArrayList<String>(Arrays.asList(s.split(",")));
System.out.println(myList); // prints [lorem, ipsum, dolor, sit, amet]
이 게시물은 여기 기사로 고쳐졌습니다.
String s1="[a,b,c,d]";
String replace = s1.replace("[","");
System.out.println(replace);
String replace1 = replace.replace("]","");
System.out.println(replace1);
List<String> myList = new ArrayList<String>(Arrays.asList(replace1.split(",")));
System.out.println(myList.toString());
Java 9 에서는, 불변 리스트의 스태틱팩토리 메서드인 를 사용하는 것이 보다 심플하게 됩니다.
String s = "a,b,c,d,e,.........";
List<String> lst = List.of(s.split(","));
옵션 1:
List<String> list = Arrays.asList("hello");
옵션 2:
List<String> list = new ArrayList<String>(Arrays.asList("hello"));
제 생각에는 옵션1이 더 나은 것 같아요.
- 작성하는 ArrayList 객체의 수를 2개에서1개로 줄일 수 있습니다.
asList
method는 ArrayList 개체를 만들고 반환합니다. - 퍼포먼스는 훨씬 우수합니다(단, 고정 사이즈 리스트가 반환됩니다).
여기 문서를 참조해 주세요.
이해하기 쉬운 것은 다음과 같습니다.
String s = "a,b,c,d,e";
String[] sArr = s.split(",");
List<String> sList = Arrays.asList(sArr);
네, 여기 오신 많은 분들이 줄을 공백으로 나누고 싶으시기 때문에 답변에 대해 자세히 말씀드리겠습니다.방법은 다음과 같습니다.
List<String> List = new ArrayList<String>(Arrays.asList(s.split("\\s+")));
Import 하는 경우 또는 코드에 배열(타입 문자열)이 있고 이를 배열 목록(오프코스 문자열)으로 변환해야 하는 경우 컬렉션을 사용하는 것이 좋습니다.다음과 같습니다.
String array1[] = getIntent().getExtras().getStringArray("key1"); or String array1[] = ... then
List allEds = new ArrayList(); Collections.addAll(allEds, array1);
다음을 사용할 수 있습니다.
List<String> tokens = Arrays.stream(s.split("\\s+")).collect(Collectors.toList());
애초에 Array List가 정말 필요한지 자문해 보십시오.스트림이 완벽한 추가 기준에 따라 목록을 필터링하는 경우가 많습니다.당신은 세트를 원할 수 있습니다; 당신은 그것들을 다른 정규 표현 등을 통해 필터링하기를 원할 수 있습니다. Java 8은 이 매우 유용한 확장을 제공합니다. 그나저나, 이것은 모든 것에서 작동합니다.CharSequence
: https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#splitAsStream-java.lang.CharSequence-.어레이는 전혀 필요하지 않으므로 다음과 같이 생성하지 마십시오.
// This will presumably be a static final field somewhere.
Pattern splitter = Pattern.compile("\\s+");
// ...
String untokenized = reader.readLine();
Stream<String> tokens = splitter.splitAsStream(untokenized);
문자열을 ArrayList로 변환하려면 다음 절차를 수행합니다.
public ArrayList<Character> convertStringToArraylist(String str) {
ArrayList<Character> charList = new ArrayList<Character>();
for(int i = 0; i<str.length();i++){
charList.add(str.charAt(i));
}
return charList;
}
그러나 이 예에는 문자열 배열이 있으므로 문자열 배열을 ArrayList로 변환하려면 다음과 같이 하십시오.
public static ArrayList<String> convertStringArrayToArraylist(String[] strArr){
ArrayList<String> stringList = new ArrayList<String>();
for (String s : strArr) {
stringList.add(s);
}
return stringList;
}
코틀린의 Gson을 사용하고 있습니다.
val listString = "[uno,dos,tres,cuatro,cinco]"
val gson = Gson()
val lista = gson.fromJson(listString , Array<String>::class.java).toList()
Log.e("GSON", lista[0])
질문을 받겠습니다: 문자열을 반전합니다.stream().collect()를 사용하여 실행합니다.그러나 먼저 문자열을 ArrayList로 변경합니다.
public class StringReverse1 {
public static void main(String[] args) {
String a = "Gini Gina Proti";
List<String> list = new ArrayList<String>(Arrays.asList(a.split("")));
list.stream()
.collect(Collectors.toCollection( LinkedList :: new ))
.descendingIterator()
.forEachRemaining(System.out::println);
}}
/*
The output :
i
t
o
r
P
a
n
i
G
i
n
i
G
*/
StringTokenizer를 사용하는 것이 좋습니다.매우 효율적입니다.
List<String> list = new ArrayList<>();
StringTokenizer token = new StringTokenizer(value, LIST_SEPARATOR);
while (token.hasMoreTokens()) {
list.add(token.nextToken());
}
guava를 사용하는 경우(유효한 Java 항목 #15 참조):
ImmutableList<String> list = ImmutableList.copyOf(s.split(","));
언급URL : https://stackoverflow.com/questions/7347856/how-to-convert-a-string-into-an-arraylist
'programing' 카테고리의 다른 글
스프링 스코프 프록시빈 (0) | 2022.10.02 |
---|---|
이클립스:자동 포맷의 최대 줄 길이를 설정하시겠습니까? (0) | 2022.10.02 |
사용자의 비밀번호를 안전하게 저장하려면 어떻게 해야 합니까? (0) | 2022.10.02 |
amazon Linux 2의 Mariadb 빌드 오류 - auth_gssapi 오류 (0) | 2022.10.02 |
PhpStorm에서 파일을 검색하려면 어떻게 해야 합니까? (0) | 2022.10.02 |