Ошибка доступа к элементу в arrarylist - PullRequest
0 голосов
/ 26 февраля 2012
public  void dataAnalytics()
{
  double sum=0;  
  double i=0;
  double minage=20;
  double maxage=20;

    System.out.println("dataAnalytics for the Rural region");

    for (Record ee :RList)
    {
      sum=sum+Double.valueOf(ee.getIncome());
      i++;
     }

     ageComparator sc = new ageComparator();
     Collections.sort(RList, sc);

     maxage = (RList[0]).getAge();
     minage = (RList[ records.length - 1]).getAge();


     System.out.println("Average income for the Rural region is : $"+sum/i);
     System.out.println("Min age  for the Rural region is : "+minage);
     System.out.println("Max age for the Rural region is : "+maxage);

}

Я пытаюсь получить доступ к переменной в первом объекте массива и последнем объекте arrayList, который даст мне минимальный и максимальный возраст из массива. Эта строка дает мне ошибку ::

maxage = (RList[0]).getAge();
minage = (RList[ records.length - 1]).getAge(); 

любые идеи /

Ответы [ 2 ]

2 голосов
/ 26 февраля 2012

Список массивов не индексируется с использованием квадратных скобок, а с использованием геттеров, попробуйте:

RList.get(0).getAge();
Rlist.get(RList.size()-1).getAge();

Подробнее см. Здесь.http://docs.oracle.com/javase/1.4.2/docs/api/java/util/ArrayList.html

Чтобы использовать синтаксис массива, вы можете использовать

Rlist.toArray()[0];
2 голосов
/ 26 февраля 2012

Здесь вы используете две разные переменные.Если вам нужен последний элемент в RList, вы должны использовать его длину.Кроме того, используйте get не синтаксис массива.

minage = RList.get(RList.size() - 1).getAge();

Редактировать: также, size() не length.

...