package practice;
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map;
public class Scheduler2 { public static void schedulers(int task[],int n,int system_task[],int user_task[]){ Map<Integer, Integer> systemMap=new HashMap<Integer,Integer>(); Map<Integer,Integer> userMap=new HashMap<Integer,Integer>();
for(int i=0;i<task.length;i++){
if(task[i]<50){
//系统任务
systemMap.put(i, task[i]);
}else if(task[i]>=50&&task[i]<=255){
//用户任务
userMap.put(i, task[i]);
}
}
//非法用户
system_task=converArrayToArray(systemMap);
System.out.println();
user_task=converArrayToArray(userMap);
display(system_task);
display(user_task);
}
private static void display(int[] system_task) {
System.out.println("输出:");
for(int i=0;i<system_task.length;i++){
System.out.print(system_task[i]+" ");
}
System.out.println();
}
private static int[] converArrayToArray(Map<Integer,Integer> systemOruser) {
int temp[]=new int[systemOruser.size()+1];
List<Map.Entry<Integer, Integer>> info = new ArrayList<Map.Entry<Integer, Integer>>(systemOruser.entrySet());
Collections.sort(info, new Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Map.Entry<Integer, Integer> obj1, Map.Entry<Integer, Integer> obj2) {
return obj1.getValue()-obj2.getValue();
}
});
for (int j = 0; j<info.size();j++) {
temp[j]=info.get(j).getKey();
}
temp[systemOruser.size()]=-1;
return temp;
}
public static void main(String[] args) {
int task[] = {0, 30, 155, 1, 80, 300, 170, 40, 99};
int n=task.length;
int user_task[]=null;
int system_task[]=null;
schedulers(task,n,system_task,user_task);
}
}