вычисление окончательной длины

Следующий код разделяет повторяющиеся имена в 1 столбец, а сумму чисел, связанных с именами, во второй столбец.

Например:

   Nokia 21

   Blackberry 3

   Nimbus 30

из массива, заданного в программе.


Я хочу знать окончательную длину массива, содержащего эти записи. В этом случае 3. Как мне это рассчитать?

package keylogger;
import java.util.ArrayList;
import java.util.List;

public class ArrayTester {

private static int finalLength = 0;
private static String Name[][];
private static String data[][] = { 
                               {"Nokia" , "7"},
                               {"Blackberry" ,"1"},
                               {"Nimbus","10"},
                               {"Nokia" , "7"},
                               {"Blackberry" , "1"},
                               {"Nimbus","10"},
                               {"Nokia" , "7"},
                               {"Blackberry" , "1"},
                               {"Nimbus","10"}

                          };  

public void calculator() {

    Name = new String[data.length][2];
    List<String> marked = new ArrayList<String>();
    try {
        for(int i=0;i<data.length;i++) {
            Name[i][0] = data[i][0];
            Name[i][1] = data[i][1];
            String name = data[i][0];
            if(marked.contains(name)) {

                continue;
            }
            marked.add(name);
            int k = i + 1;
            int v = k;
            for (int j = 0; j < data.length - v; j++) {
                String s = data[k][0];
                if(Name[i][0].equalsIgnoreCase(s)) {
                    Name[i][0] = s;
                    Integer z = Integer.parseInt(Name[i][1]) + Integer.parseInt(data[k][1]);
                    Name[i][1] = z.toString();
                }
                k++;
            }

        }
    }catch(Exception exc) {
        exc.printStackTrace();
    }
}

public static void main(String args[]) {
    ArrayTester o = new ArrayTester();
    o.calculator();
    for(String s[] : Name) {
        for(String x : s) {
            System.out.println(x);
        }
    }
}

}

0
задан program-o-steve 25 May 2012 в 12:50
поделиться