2013-02-21 82 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);