2013-02-21 81 views
1

最短的形式我的意思是最少的java代碼行數。我想獲得整數值ArrayList的項目的平均值。 例如,對於ArrayList的AR獲得ArrayList元素平均值的最短形式

ArrayList<Integer> ar = new ArrayList<Integer>(Arrays.asList(1,2,3,5,8,13,21)); 

我在尋找類似

ar.Average() 

ar.Sum() 

Arrays.Average(ar) 
PS。

PS。我知道我們可以循環做到這一點。只是尋找更短的選擇;

+1

相關(但不確切的副本):[「Java中的Iterable Sum?」](http://stackoverflow.com/q/4758341/978917) – ruakh 2013-02-21 23:01:44

+1

所以你正在尋找一種已經存在的方法?檢查了[docs](http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html)? – 2013-02-21 23:01:59

+3

這是一個循環中的大約5行,你可以把它放到你從別處調用的方法中。你是否真的被引入一種新的和短的方法困擾? – 2013-02-21 23:02:00

回答

0

如果你已經在使用Java 8:

的代碼
double average = Arrays.asList(1, 2, 3, 4) 
         .stream() 
         .map(Integer::intValue) 
         .average() 
         .getAsDouble(); 
0

行是一個永遠是毫無意義的措施,但如果這是你關心什麼:

int sum=0;for(Integer i:ar)sum += i;System.out.println(sum);