Prezentare generală
în această serie de articole ArrayList, veți învăța astăzi cum să convertiți un șir într-o ArrayList folosind metode încorporate java. Există multe scenarii în aplicațiile în timp real în care trebuie să transformăm șirul într-o listă de obiecte. De obicei șir ar trebui să fie mai multe valori separate printr-un delimitator. De exemplu,luați un șir de genul „început,aprobat,în curs, finalizat”. Aici vedem Statuile în format șir și toate aceste stări sunt pentru procesarea biletelor ridicate de utilizatori. Acesta este fluxul de stare. Trebuie să convertim acum acest șir într-o listă<șir >.
notă: String poate avea numere întregi, valori duble și șiruri cu un delimitator. Același program prezentat mai jos funcționează pentru orice tip de valori prezente în șirul de intrare.
scrieți un program pentru a converti șirul în ArrayList în Java
procesul și programul de mai jos sunt utilizate pentru a demonstra conversia valorilor separate prin virgulă în ArrayList.
String allStatus = "Started,Approved,In Progress,Completed";
observați că șirul are ‘,’ delimitator care separă fiecare stare. Deci, putem spune virgulă ca delimitator aici. String API are o metodă split () care ia un regex pentru a se potrivi cu modelul și valorile split. După divizare de succes, split() metoda returnează un șir șir matrice. Această matrice șir returnat deține valorile. Acum, ultimul pas este să convertiți această matrice de șiruri într-o listă folosind matrice.metoda asList (). asList () este o metodă statică, astfel încât să putem apela direct cu numele clasei.
package com.javaprogramto.engineering.programs;import java.util.Arrays;import java.util.List;/** * * Java Program To Convert String to ArrayList Using Arrays.asList() * * @author javaprogramto.com - Venkatesh * */public class StringToArrayList { public static void main(String args) { String allStatus = "Started,Approved,In Progress,Completed"; System.out.println("string : " + allStatus); // spliting by comma String statusArray = allStatus.split(","); // converting string array to list List statusList = Arrays.asList(statusArray); // Iterating list of strings using for-each. System.out.println("Converted List values are : "); for (String status : statusList) { System.out.println(status); } }}
ieșire:
string : Started,Approved,In Progress,CompletedConverted List values are : StartedApprovedIn ProgressCompleted
lista convertită < String > este tipărită folosind un concept for-each.
acest lucru se poate face folosind Java 8 pentru fiecare într-o singură linie ca mai jos și va produce același rezultat. Ordinul a fost păstrat și din șir.
statusList.forEach(status -> System.out.println(status));
concluzie
în acest articol, am învățat cum să convertim valorile separate prin virgulă într-o listă de matrice. Șirul poate avea orice delimitator, cum ar fi#,*,!, / sau @. Pentru toate aceste delimitatori ar trebui să fie trecut la split() metoda apoi următorul este de a apela matrice.metoda asList ().