我有一个包含3个字符串和一个double的类的链接列表。我想收集列表中每个double的总值。例如
LinkedList<Person> L = new LinkedList<Person>();
Person p1 = new Person("Fee","Foo","Bar", 1.2);
Person p2 = new Person("Fi","Fi","Fo", 2.5);
L.add(p1);
L.add(p2);
我想找到并加起来1.2和2.5。我假设我应该使用ListIterator,但是如何告诉它将每个找到的double值添加到总数中?
答案 0 :(得分:2)
只需对人使用for循环:
double sum = 0;
for(Person p : L)
sum += p.getDouble();
System.out.print(sum);
答案 1 :(得分:2)
你有几个选项来迭代它
A)按要求使用迭代器
Person person = new Person();
ListIterator<Person> listIterator = L.listIterator();
while (listIterator.hasNext()) {
person = listIterator.next();
double value = person.getDoubleAttribute();
}
B)按照其他答案中的建议使用for-each
循环:
for(Person person : L){
double value = person.getDoubleAttribute();
}
PS:非常不建议Java
UPPERCASE
变量或属性
答案 2 :(得分:1)
您可以遍历列表,获取每个Person的double属性并对它们求和,或者您可以使用Java 8 Streams:
double sum = L.stream().mapToDouble(Person::getDoubleProperty).sum();
getDoubleProperty
代表Person
类中返回double值的方法名称。