У меня есть приведенный ниже блок кода, который я пытаюсь преобразовать с использованием потока Java.
for(Emp emp:empList){
if(combinedData.getOrg()==null){
combinedData.setOrg(emp.getCompany());
}
combinedData.addToList(emp.getWorkLog());
if(combinedData.getRawData()!=null){
combinedData.setRawData(combinedData.getRawData()+emp.getData());
}
else{
combinedData.setRawData(emp.getData());
}
}
Проблема, с которой я столкнулся, заключается в том, что мне нужно установить только одну организацию, а также мне нужно добавить к существующим rawdata. Я знаю, что это легко сделать с помощью уменьшенного числа строк с использованием потоков.
Полный код ниже
public class Main {
public static void main(String[] args) {
List<Emp> empList = Arrays.asList(
new Emp("x1","as2112","a"),
new Emp("x1","as2122","b"),
new Emp("x1","as2422","c"),
new Emp("x1","as2423","d"));
CombinedData combinedData = new CombinedData();
for(Emp emp:empList){
if(combinedData.getOrg()==null){
combinedData.setOrg(emp.getCompany());
}
combinedData.addToList(emp.getWorkLog());
if(combinedData.getRawData()!=null){
combinedData.setRawData(combinedData.getRawData()+emp.getData());
}
else{
combinedData.setRawData(emp.getData());
}
}
}
}
class Emp{
private String company;
private String workLog;
private String data;
public Emp(
String company,
String workLog,
String data) {
this.company = company;
this.workLog = workLog;
this.data = data;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getWorkLog() {
return workLog;
}
public void setWorkLog(String workLog) {
this.workLog = workLog;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
class CombinedData{
private String org;
private List<String> worklogList;
private String rawData;
public String getOrg() {
return org;
}
public void setOrg(String org) {
this.org = org;
}
public List<String> getWorklogList() {
return worklogList;
}
public void setWorklogList(List<String> worklogList) {
this.worklogList = worklogList;
}
public String getRawData() {
return rawData;
}
public void setRawData(String rawData) {
this.rawData = rawData;
}
public void addToList(String worklog){
this.worklogList.add(worklog);
}
}