У меня есть класс с именем Tag.
public class Tag {
String tag_id;
int x_pos;
int y_pos;
int z_pos;
public String getTag_id() {
return tag_id;
}
public void setTag_id(String tag_id) {
this.tag_id = tag_id;
}
public int getX_pos() {
return x_pos;
}
public void setX_pos(int x_pos) {
this.x_pos = x_pos;
}
public int getY_pos() {
return y_pos;
}
public void setY_pos(int y_pos) {
this.y_pos = y_pos;
}
public int getZ_pos() {
return z_pos;
}
public void setZ_pos(int z_pos) {
this.z_pos = z_pos;
}
public String toString()
{
return this.tag_id +" "+this.x_pos+" "+this.y_pos+" "+this.z_pos;
}
}
Теперь у меня есть список массивов Tag.
ArrayList<Tag> tag_info = new ArrayList<>();
Идентификатор тега может быть A, B, C или любым другим.Это динамично, а не исправлено.Мне нужно получить среднее значение x_pos, y_pos и z_pos из tag_info
.Размер списка массивов также является динамическим, может варьироваться от 60 до 70.Я написал все это с использованием циклов, но хотел преобразовать его с помощью Stream.
Я извлек уникальные идентификаторы, используя:
Stream<Tag> a = tag_info.stream().filter(distinctByKey(Tag::getTag_id));
Но теперь я не хочу запускать цикл поверхвсе значение и получить среднее.Что-нибудь попроще?