Как конвертировать ArrayList <String>во Float [] - PullRequest
0 голосов
/ 11 сентября 2011

Мне нужно извлечь некоторые данные из файла, чтобы отобразить их на графике.Функция, которая показывает диаграмму, требует, чтобы данные были float[], тогда как извлеченные данные имеют вид ArrayList<String>.

. Какой самый простой способ преобразовать ArrayList<String> в float[]?

        try {
            FileInputStream fIn = context.openFileInput(fileDir+fileName);
            InputStreamReader ipsr = new InputStreamReader(fIn);
            BufferedReader b = new BufferedReader(ipsr);

            ArrayList<String> list_prix = new ArrayList<String>();
            String ligne;

            while ((ligne = b.readLine()) != null) {
                String dtVal = ligne.split(" ")[2];
                dtVal = dtVal.substring(0, dtVal.length() - 2);
                list_prix.add(dtVal);
            }

            //just here if i can convert list_prix to float[]

            fIn.close();
            ipsr.close();
        } 
        catch (Exception e) 
        {
            Log.e("blah", "Exception", e);
        }

Спасибо за вашу помощь.

Ответы [ 2 ]

3 голосов
/ 11 сентября 2011

Я думаю, что следующее сделает это с помощью Guava ...

Collection<Float> floats = Collections2.transform(list_prix, new Function<String, Float>() {
    public Float apply(String input) {
        return Float.parseFloat(input);
    }

});

Float[] floatArray = new Float[floats.size()];
floats.toArray(floatArray);
2 голосов
/ 11 сентября 2011

Вы можете зациклить и использовать Float.parseFloat () .

float [] floatValues = new float[list_prix.size()];

for (int i = 0; i < list_prix.size(); i++) {
    floatValues[i] = Float.parseFloat(list_prix.get(i));
}

Теперь, это предполагает, что каждая строка в вашем ArrayList действительно может быть проанализирована в float.Если нет, это может вызвать исключение, поэтому вы можете сделать это в блоке try / catch, если не уверены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...