AggregateResultをVFで表示

AggregateResultの中に入っている値を、VFに表示させようとしたらエラーになった。

--Class-- 

public List<AggregateResult> test{ get; set; } 

public PageReference test2() {

    test = [Select max(ID)Id 

                        ,name 

                        ,SUM(NumberOfEmployees) NOE 

                From Account 

                Group By name];

    return null;

--VF-- 

<apex:repeat value="{!test}" var="Ac"> 

    <apex:outputText value="{!Ac.NOE}"/> 

</apex:repeat> 

 

こう書いたらエラー

Invalid field NOE for SObject AggregateResult

 

何で???

 

正解はこちら

 

--VF-- 

<apex:repeat value="{!test}" var="Ac"> 

    <apex:outputText value="{!Ac['NOE']}"/> 

</apex:repeat> 

 

何で???

要は、AggregateResultはMapなのね。

赤っ恥です。