Удаление пустых записей из ArrayList

Я получаю форму адреса GeoCoder GoogleMapApi и перед передачей результата в Spinner Мне нужно удалить все нулевые записи из списка.

Я попробовал следующие два способа, но ни один из них не имеет никакого значения:

locs.removeAll(Arrays.asList("", null));
locs.removeAll(Collections.singleton(null));

-

private List<Address> getAddress(double latitude, double longitude,int maxResults) {
    Geocoder gCoder = new Geocoder(getApplicationContext(),Locale.getDefault());
    try {
        locs = gCoder.getFromLocation(latitude, longitude, maxResults);
        locs.removeAll(Arrays.asList("", null));
        //locs.removeAll(Collections.singleton(null));
    } catch (IOException e) {
        e.printStackTrace();
    }

    return locs;

}

3 ответа

Решение

Попробуй это

    List locs = new ArrayList();
    locs.add("");
    locs.removeAll(Arrays.asList("", null));
    System.out.println(locs.size());

выход

0

и это

    locs.add("");
    locs.removeAll(Collections.singleton(null));
    System.out.println(locs.size());

выход

1

есть разница

Просто переберите список с этим кодом

    for (int i = 0; i < locs.size(); i ++){
        if (locs.get(i) == null){
            locs.remove(i);
            i --;
        }
    }

for(int i=0;i<list.size();i++) {if(list.get(i)==null||list.get(i).equals(""))// in case of string only otherwise only oneдостаточно проверить{ list.remove(я);i--; } `}

Другие вопросы по тегам