2015-09-05 3 views
-1

У меня есть массив строк, как это:Сколько Конкретное значение существует в массиве строк в андроида

String[] sample = { "0", "1", "0", "5", "1", "0" }; 

Теперь мне нужно знать, сколько определенное значение как 0 существует в этом массиве. так как я могу это получить?

+0

Вы пытаетесь подсчитать количество уникальных значений в массиве? – kkaosninja

ответ

5

Надеется, что это может помочь вам ..

int count = 0; 
    String[] array = new String[]{"a", "a", "d", "c", "d", "c", "v"}; 
    ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(array)); 
    for (int i = 0; i < array.length; i++) { 
     count = 0; 
     for (int j = 0; j < arrayList.size(); j++) { 
      if (arrayList.get(j).equals(array[i])) { 
       count++; 
      } 
     } 
     System.out.println("Occurance of " + array[i] + " in Array is : " + count); 
    } 
2

попробуйте HashMap, чтобы отслеживать появления каждого слова в массиве.

public static void main(String[] args) { 
     String[] sample = { "0", "1", "0", "5", "1", "0" }; 
     Map<String, Integer> map = new HashMap<>(); 
      for (String s : sample) { 
       Integer n = map.get(s); 
       n = (n == null) ? 1 : ++n; 
       map.put(s,n); 
      } 

      System.out.println(map); 

    } 

выход: (надеюсь, что это то, что вы хотите)

{1=2, 0=3, 5=1} 

для перебора использования карты:

Iterator it = map.entrySet().iterator(); 
    while (it.hasNext()) { 
     Map.Entry pair = (Map.Entry)it.next(); 
     System.out.println(pair.getKey() + " occurs = " +  pair.getValue()+" times"); 

    } 

выход:

1 occurs = 2 times 
0 occurs = 3 times 
5 occurs = 1 times 
Смежные вопросы