分配方法:
public Map<String,List<String>> allotOfAverage(List<String> users,List<String> tasks){
Map<String,List<String>> allot=new ConcurrentHashMap<String,List<String>>();
//保存分配的信息
if(users!=null&&users.size()>0&&tasks!=null&&tasks.size()>0){
for(int i=0;i<tasks.size();i++){
int j=i%users.size();
if(allot.containsKey(users.get(j))){
List<String> list=allot.get(users.get(j));
list.add(tasks.get(i));
allot.put(users.get(j), list);
}else{
List<String> list=new ArrayList<String>();
list.add(tasks.get(i));
allot.put(users.get(j), list);
}
}
}
return allot;
}
测试方法:
public static void main(String[] args) {
AppleTest appleTest = new AppleTest();
List<String> users = new ArrayList<String>();
users.add("1");
users.add("2");
users.add("3");
users.add("4");
users.add("5");
// users.add("6");
// users.add("7");
// users.add("8");
// users.add("9");
// users.add("10");
// users.add("11");
// users.add("12");
List<String> tasks = new ArrayList<String>();
tasks.add("apple1");
tasks.add("apple2");
tasks.add("apple3");
tasks.add("apple4");
tasks.add("apple5");
tasks.add("apple6");
tasks.add("apple7");
tasks.add("apple8");
tasks.add("apple9");
tasks.add("apple10");
Map<String, List<String>> allotOfAverage = appleTest.allotOfAverage(users, tasks);
System.out.println(allotOfAverage.toString());
}
测试结果:
{1=[apple1, apple6], 5=[apple5, apple10], 3=[apple3, apple8], 4=[apple4, apple9], 2=[apple2, apple7]}