используя ArrayList для подсчета - PullRequest
0 голосов
/ 14 октября 2011

в моем следующем коде у меня есть 2 счетчика, поэтому я использовал ArrayList, так как я хочу получить количество каждого подсчитанного элемента вне цикла.Я использовал arrayList, как показано ниже, который дает мне ожидаемые значения при печати, но я хотел бы знать, могу ли я оптимизировать свой код, используя array [], наборы вместо list, чтобы избежать двойного list.add (cout1); list.add (count2)?

ArrayList<Integer> list = new ArrayList<Integer>();
      int count1 = 0;
      int count2 = 0;

      for (int i = 0; i < nb; i++)
      {

        if (action)
        {
          counter1++;

        }
        if (votherAction)
        {
          counter2++;

        }

      }
    list.add(count1);
    list.add(count2);

Ответы [ 4 ]

2 голосов
/ 14 октября 2011

Вы можете использовать FluentUtils.pair () вместо ArrayList (http://code.google.com/p/fluentutils/) как пара возврата (counter1, counter2)

0 голосов
/ 14 октября 2011

Вы можете просто добавить их к String и не нужно использовать ArrayList. Вы можете использовать это для печати. ​​

String counterStr = "Count 1 : " + count1 + ", Count 2 : " + count2;

Редактировать: Вы можете использовать Array вместо ArrayList.

int[] countArr = new int[2];
...
countArr[0] = counter1;
countArr[1] = counter2;
0 голосов
/ 14 октября 2011

вы можете сделать это

int[] counter = new int[2];

      for (int i = 0; i < nb; i++)
      {

        if (action)
        {
          counter[0]++;

        }
        if (votherAction)
        {
          counter[1]++;

        }

      }

но выгода минимальна

0 голосов
/ 14 октября 2011

Используется для создания архива: Arrays.asList (count1, count2)

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