У меня есть три коллекции, первые две - справочные данные, а третья - фактический набор данных.Я пытаюсь проверить, что данные для учетной записи существуют для сбора контрольной даты.Если его там нет, мне нужно добавить фиктивные данные для этой учетной записи за день.Какую логику итерации лучше придерживаться здесь для оптимальной производительности.Я не могу изменить набор данных List на hashmap, он задан как List.
Вот код:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class FindAccountExistForDay {
public String userStart;
public String accountId;
public String genre;
public static void main(String args[]){
Set<String> accounts= new HashSet<String>();
accounts.add("1");
accounts.add("2");
accounts.add("3");
accounts.add("4");
accounts.add("5");
accounts.add("6");
Set<String> dates= new HashSet<String>();
dates.add("05032018");
dates.add("05042018");
dates.add("05052018");
dates.add("05062018");
dates.add("05072018");
dates.add("05082018");
dates.add("05092018");
List<String[]> dataList= new ArrayList<String[]>();
String[] strings = {"05032018", "1", "John"};
String[] strings2 = {"05042018", "1", "John"};
String[] strings3 = {"05062018", "3", "David"};
String[] strings4 = {"05072018", "4", "Gilbert"};
String[] strings5 = {"05082018", "5", "Mark"};
String[] strings6 = {"05092018", "6", "Neil"};
String[] strings7 = {"05032018", "2", "Dan"};
dataList.add( strings);
dataList.add( strings2);
dataList.add( strings3);
dataList.add( strings4);
dataList.add( strings5);
dataList.add( strings6);
dataList.add( strings7);
for (String date: dates){
Set<Object> groupSet= new HashSet<Object>();
for (String acct: accounts){
while(dataList.iterator().hasNext()){
//do the logic here?
}
}
System.out.println("date:"+ date +":"+ groupSet);
}
}
}