W moim ciągu mogę mieć dowolną liczbę słów oddzielonych przecinkami. Chciałem, aby każde słowo zostało dodane do ArrayList. Na przykład:
String s = "a,b,c,d,e,.........";
Spróbuj czegoś takiego
List<String> myList = new ArrayList<String>(Arrays.asList(s.split(",")));
Arrays.asList
dokumentacjaString.split
dokumentacjaArrayList(Collection)
dokumentacja konstruktoraPróbny:
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]
Ten post został przepisany jako artykuł tutaj .
new ArrayList<String>()
Może być zbędny w zależności od tego, jak jest używany. (jak to jest na twoim przykładzie;)split
jego po: PArrays.toString()
go wydrukować, ale tak.źródło
replace = s1.replaceAll("^\\[|]$", "");
Opcja 1 :
Opcja 2 :
Moim zdaniem opcja 1 jest lepsza, ponieważ
asList
Metoda tworzy i zwraca obiekt ArrayList.Zapoznaj się z dokumentacją tutaj
źródło
List<Character> word1 = new ArrayList<Character>(Arrays.asList(A[0].toCharArray()));
Próbuję pobrać pierwszy ciąg z tablicy ciągów i przekonwertować ten ciąg na charArray, a ten charArray na List <Character>W Javie 9 używanie
List#of
, które jest Immutable List Static Factory Methods, stało się prostsze.źródło
s.split("\\s*,\\s*")
można dodać za dodatkową opiekęJeśli importujesz lub masz tablicę (typu string) w swoim kodzie i musisz przekonwertować ją na arraylist (ciąg poza kursem), to lepiej jest używać kolekcji. lubię to:
źródło
Ok, zamierzam rozszerzyć tutaj odpowiedzi, ponieważ wielu ludzi, którzy tu przychodzą, chce podzielić ciąg za pomocą białych znaków . Oto jak to się robi:
źródło
Możesz użyć:
Powinieneś zadać sobie pytanie, czy naprawdę potrzebujesz przede wszystkim ArrayList. Bardzo często będziesz filtrować listę na podstawie dodatkowych kryteriów, dla których strumień jest idealny. Możesz chcieć zestaw; możesz chcieć je przefiltrować za pomocą innego wyrażenia regularnego, itp. Java 8 zapewnia przy okazji to bardzo przydatne rozszerzenie, które będzie działać na każdym
CharSequence
: https://docs.oracle.com/javase/8/docs/api /java/util/regex/Pattern.html#splitAsStream-java.lang.CharSequence- . Ponieważ w ogóle nie potrzebujesz tablicy, unikaj jej tworzenia w ten sposób:źródło
Jeśli chcesz przekonwertować ciąg na ArrayList, spróbuj tego:
Ale widzę tablicę ciągów w twoim przykładzie, więc jeśli chcesz przekonwertować tablicę ciągów na ArrayList, użyj tego:
źródło
Łatwiejsze do zrozumienia jest takie:
źródło
To używa Gson w Kotlinie
źródło
Zadajmy sobie pytanie: odwróć ciąg. Zrobię to za pomocą stream (). Collect (). Ale najpierw zmienię ciąg na ArrayList.
źródło
Polecam używać StringTokenizera, jest bardzo wydajny
źródło
Jeśli używasz guawy (a powinieneś, zobacz skuteczny element Java nr 15 ):
źródło