如何将数学函数应用于ArrayList的每个对象

时间:2016-09-28 20:43:17

标签: java jgrasp

我无法弄清楚如何将数学运算应用于ArrayList的每个项目。 ArrayList将由用户输入,因此无法确定其中有多少项。有没有一种方法可以帮助这样做?

2 个答案:

答案 0 :(得分:1)

使用ListIterator - > https://docs.oracle.com/javase/7/docs/api/java /util/ListIterator.html

与普通Iterator不同,ListIterator将允许您将新计算的值存储回列表

ArrayList<Integer> source = ...

ListIterator<Integer> iter = source.listIterator();

while( iter.hasNext() )
{
  Integer value = iter.next();

  Integer newValue = Integer.valueOf( value.intValue() * 2 );

  iter.set(newValue);
}

答案 1 :(得分:0)

正如@puhlen所说,在java 8中,使用stream和lambda表达式

 List<type> liste = new ArrayList<>();
for(type o : liste){
    //math on object o here
}

stream为您提供了许多其他功能,可以过滤,订购,收集...如果您使用java8,请使用它

或@ neil-locketz在java之前说过8使用foreach循环

{{1}}