Как добавить массивы в список и выполнить итерацию, чтобы получить первые значения каждого массива? - PullRequest
0 голосов
/ 14 октября 2018

Вот как выглядит постановка задачи:

Предположим, есть 4 строковых массива - [open, provider], [1,2], [yes, no], [oe, pr]

Я хочу добавить 4 массива в список с именем 'series'.

Итак, список серий теперь выглядит как - [[open, provider], [1,2], [yes, no], [oe, pr]]

Теперь я хочу повторитьчерез список, чтобы получить первые значения из каждого массива в списке, то есть get [open, 1, yes, oe] и [provider, 2, no, pr] как два отдельных массива или списка.

Как это сделать?Помогите с сегментами кода!СПАСИБО !

Ответы [ 2 ]

0 голосов
/ 16 октября 2018
    String[] arr1 = {"open","providers"};
    String[] arr2 = {"1","2"};
    String[] arr3 = {"yes","no"};

    List<String[]> addList = new ArrayList<String[]>();
    for (int n = 0; n < arr1.length; n++) {
        String[] rowArray = { arr1[n], arr2[n],
                arr3 [n]};
        addList.add(rowArray);

    }

При условии, что длины массивов одинаковы, их можно легко разместить!

0 голосов
/ 15 октября 2018

Вы должны сделать что-то вроде этого.Я тестировал здесь, и он работает нормально.Просто улучшите свой println, чтобы показывать текст так, как вам нравится.Теперь это зависит от вас.Изучите код.

import java.util.ArrayList;


public class Main {

    public static void main(String args[]) {
        String[] array1 = {"open", "providers"};
        String[] array2 = {"1", "2"};
        String[] array3 = {"yes", "no"};
        String[] array4 = {"oe", "pr"};

        ArrayList<String[]> result = myArrays(array1, array2, array3, array4);

        for(int i = 0; i < result.size(); i++) {
            for(int j = 0; j < result.get(i).length; j++) {
                if(i == 0) {
                    System.out.println("Result of first array: " + result.get(i)[j]);
                } else {
                    System.out.println("Result of second array: " + result.get(i)[j]);
                }   
            }
        }
    }


    public static ArrayList<String[]> myArrays(String[] array1, String[] array2, String[] array3, String[] array4) {

        String[][] series = new String[4][];
        series[0] = array1;
        series[1] = array2;
        series[2] = array3;
        series[3] = array4;

        String[] firstResult = new String[4];
        String[] secondResult = new String[4];

        for(int i = 0; i < series.length; i++) {
            for(int j = 0; j < series[i].length; j++) {
                if(j == 0) {
                    firstResult[i] = series[i][j];
                } else {
                    secondResult[i] = series[i][j];
                }
            }
        }

        ArrayList<String[]> finalResult = new ArrayList<String[]>();

        finalResult.add(firstResult);
        finalResult.add(secondResult);

        return finalResult;
    }
}
...