2016-11-21 2 views
-2

Я успешно получать значения из CSV-файла, чтобы List<String[]>, но возникли проблемы при переходе от значения List<String[]> к String[] или получить одно значение из List. Я хочу скопировать эти значения в строковый массив, чтобы выполнить некоторые функции на нем.Как получить значение из списка <String[]>

Мои ценности в scoreList

final List<String[]> scoreList = csvFile.read(); 

Теперь я хочу, чтобы получить одно значение из этого scoreList. Я попытался это подходы, но не могу получить значение

String[] value=scoreList.get(1); 
+1

до тех пор, как 'scoreList.size)> 1' затем' String [] значение (= scoreList.get (1); 'должен работать ... так где проблема? ... конечно, это будет строковый массив ... Знаете ли вы, что такие основы java, как: как работать с массивами? или как получить элемент из массива? – Selvin

+0

Вы не разбираетесь в csvFile здесь, вы просто читаете его. Убедитесь, что scoreList на самом деле то, что вы ожидаете. Если это так, то 'scoreList.get (n)' получит вам n-й массив String в списке, а 'scoreList.get (n) [x]' получит вам x'th String в n'th массив в списке. – zgc7009

+0

@Selvin да, я знаю, как работать с массивом и получать значение из массива, но я был просто смущен этим массивом содержащихся в нем списков. –

ответ

0

Вы хотите одно значение, но вы declearing массива вы Тринг присвоить строку массива строк. Если вы хотите получить одно значение, попробуйте это;

String x = scoreList.get(1); 

или

, если вы хотите, чтобы преобразовать listarray в массив строк попробовать это;

String [] myArray = new String [scoreList.size()];

for(int i=0; i<scoreList.size();i++) 
{ 
    myArray[i]=scoreList.get(i); 
} 
0

Предположим, что вы хотите, чтобы собрать значения 2-го столбца (индекс 1), то вы можете попробовать этот

// Collect values to this list. 
List<String> scores = new ArrayList<String>(); 

final List<String[]> scoreList = csvFile.read(); 

// For each row in the csv file 
for (String [] scoreRow : scoreList) { 

    // var added here for readability. Get second column value 
    String value = scoreRow[1]; 

    scores.add(value); 
}