у Јави, Низ и Листа су две најважније структуре података. У овом одељку ћемо научити како претворити Јава низ у листу. И ми смо стварали Јава програми који претварају низ у листу коришћењем различитих Јава метода.
Претварање низа у листу у Јави
Јава низ је колекција више вредности истог типа података. Низ може да садржи објекте и примитивне типове. Зависи од дефиниције низа. Ако је дефиниција низа примитивног типа, вредности низа се чувају на заразној меморијској локацији. Ако низ садржи елементе објеката, елементе ускладиштене у сегменту гомиле.
Ин Јава , а Листа је интерфејс који припада оквиру Јава Цоллецтионс. Он складишти елементе у облику објеката на уређен начин и чува редослед уметања. Омогућава нам да чувамо дупле вредности. Настава Низ листа , ЛинкедЛист , Вецтор и Гомила имплементира интерфејс листе.
Јава пружа пет метода за претварање низа у листу:
- Нативе Метход
- Коришћење методе Арраис.асЛист().
- Коришћење методе Цоллецтионс.аддАлл().
- Коришћење Јава 8 Стреам АПИ-ја
- Коришћење методе Гуава Листс.невАрраиЛист().
Нативе Метход
То је најједноставнији метод за претварање Јава низа у листу. У овој методи прво креирамо празну листу и додајемо све елементе низа у листу. Хајде да видимо пример.
АрраиТоЛистЕкампле1.јава
import java.util.*; public class ArrayToListExample1 { public static void main(String args[]) { //creating an array String array[] = { 'Golf', 'Soccer', 'Baseball', 'Volleyball', 'Tennis', 'Badminton', 'Rugby', 'Archery', 'Skiing'}; //prints the array before conversion System.out.println('Array before conversion: '+ Arrays.toString(array)); //calling the generic function that converts Array into List List list = ArrayToListConversion(array); //print the List System.out.println('Array as List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T array[]) { //creating the constructor of the List class List list = new ArrayList(); //using for-each loop to iterate over the array for (T t : array) { //adding each element to the List list.add(t); } //returns the list converted into Array return list; } }
Излаз:
алгоритми бинарне претраге
Коришћење методе Арраис.асЛист().
То је метод класе Јава Арраис који припада пакету јава.утил. Када користимо метод асЛист() са методом Цоллецтион.тоАрраи(), он функционише као мост између АПИ-ја заснованих на низу и колекција.
Синтакса:
public static List asList(T... a)
Метод анализира низ као параметар којим ће листа бити подржана. Враћа серијализујући приказ листе фиксне величине наведеног низа. Хајде да видимо пример.
АрраиТоЛистЕкампле2.јава
import java.util.*; public class ArrayToListExample2 { public static void main(String args[]) { //creating an array to be converted String arr[] = { 'Aston Martin', 'Bugatti', 'Bentley', 'Alfa Romeo', 'Buick', 'Acura', 'Audi', 'BMW', 'Buick' }; //prints array before conversion System.out.println('Array before conversion: '+ Arrays.toString(arr)); //calling generic method that converts Array into List List list = ArrayToListConversion(arr); //prints the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //invoking the asList() method and passing the array to be converted List list = Arrays.asList(arr); //returns the list return list; } }
Излаз:
Коришћење методе Цоллецтионс.аддАлл().
То је метода Јава Цоллецтионс класа. припада пакету јава.утил. Класа обезбеђује метод под називом аддАлл() . Можемо користити метод за претварање низа у листу. Додаје све елементе наведеној колекцији. Елементе можемо специфицирати или појединачно или у облику низа. Ради исто као ц.аддАлл(Арраис.асЛист(елементс)). То је бржа имплементација од друге имплементације.
Синтакса:
public static boolean addAll(Collection c, T... elements)
Он анализира два параметра:
Враћа се истина ако се колекција променила услед позива. Избацује следеће изузетке:
- Ако параметар ц не подржава операцију додавања, баца се УнсуппортедОператионЕкцептион .
- Ако наведени елементи низа садрже једну или више нулл вредности, а ц не дозвољава нулл елементе, он баца НуллПоинтерЕкцептион .
- Ако било који елемент низа спречава да се дода параметру ц, он избацује ИллегалПоинтерЕкцептион .
Хајде да видимо пример.
АрраиТоЛистЕкампле3.јава
import java.util.*; public class ArrayToListExample3 { public static void main(String args[]) { //creating an Array to be converted String arr[] = { 'San Jose', 'Dallas', 'Chicago','San Antonio', 'Los Angeles', 'Portland', 'Tucson' }; //prints the Array System.out.println('Array before conversion: '+ Arrays.toString(arr)); //method calling List list = ArrayToListConversion(arr); //print the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creating the constructor of thr List class List list = new ArrayList(); //the method adds Array to the List Collections.addAll(list, arr); //returns the list return list; } }
Излаз:
Коришћење Јава 8 Стреам АПИ-ја
Јава 8 пружа Стреам АПИ за обраду збирки објеката. То је низ метода које се могу спровести да би се произвео жељени резултат. Запамтите да то не мења оригиналну структуру података. Обезбеђује излаз заснован на цевоводним методама. Стреам можемо постићи на више начина, али смо користили следећи програм Арраис.стреам(Објекат[]) да достигне поток.
Цоллецторс.тоЛист() Метод: Метод враћа Цоллецтор који прикупља улазне елементе у новокреирану листу у методи сусрета.
Синтакса:
public static Collector<t,?,list> toList() </t,?,list>
Где је Т тип елемента који смо навели. Метода не даје гаранције за тип, променљивост, безбедност нити и сериализабилност.
рачунарске мреже
Хајде да користимо Стреам АПИ у Јава програму и претворимо низ у листу.
АрраиТоЛистЕкампле4.јава
import java.util.*; import java.util.stream.Collectors; public class ArrayToListExample4 { //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a list from the specified Array and returns the List return Arrays.stream(arr).collect(Collectors.toList()); } public static void main(String args[]) { //creating an array to be converted into List String arr[] = { 'Python', 'HTM', 'Java', 'C', 'C++', 'JavaScript', 'Ruby', 'Swift', 'PHP' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //calling the method created above and storing the elements into the List object List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } }
Излаз:
Коришћење Гуава Листс.невАрраиЛист()
То је метода Листе класе којој припадају цом.гоогле.цоммон.цоллецт пакет. Класа обезбеђује метод невАрраиЛист() која ствара променљиву празну инстанцу АрраиЛист која има елементе наведеног низа.
Синтакса:
public static ArrayList newArrayList(E... elements)
Напомена: Метода невАрраиЛист() доступна је за Јаву 6 и старије верзије. У каснијим верзијама је застарео. Уместо горње методе, директно користимо конструктор АрраиЛист.
АрраиТоЛистЕкампле5.јава
import static com.google.common.collect.Lists.*; import java.util.*; public class ArrayToListExample5 { public static void main(String args[]) { //creating an Array to be converted into a List String arr[] = { 'Mango', 'Banana', 'Grapes', 'Apple', 'Plum', 'Blackberry', 'Papaya', 'Orange' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //convert the Array to List List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a List from the specified Array return Lists.newArrayList(arr); } }
Излаз: