我在另一个论坛上问过同样的问题,但没有得到任何合适的答案……所以我把它贴在这里。我有以下程序:
public void execute(){
public static ArrayList<Long> time = new ArrayList<Long>();
public static ArrayList<Integer> state = new ArrayList<Integer>();
public static ArrayList<Integer> cpu = new ArrayList<Integer>();
for(int i=0; i<time.size(); i++){
if(cpu.get(i).equals(get)){
Long next_time = time.get(i);
Integer next_func = state.get(i);
Integer next_proc = cpu.get(i);
if(next_time.equals(g) && (next_func.equals(test1.func_num))){
Integer func_next = stt.get(i+1);
if(func_next.equals(0)||(func_next.equals(next_func))) {
System.out.println("here");
}
else
System.out.println("here");
if(cpu.get(i+2).equals(get))
if(stt.get(i+2).equals(func_next) || (stt.get(i+2).equals(0)))
System.out.println(stt.get(i+2));
}
}
}
我想做的是:我从用户那里得到时间、cpu 和状态的值。在 arraylist 中找到相应值的匹配项,然后我想循环遍历 arraylists以仅查找与 'cpu' 匹配的值。所有 ArrayList 的大小相同,并且包含在任何给定索引处彼此对应的值。我怎样才能做到这一点?
示例:ArrayLists 包含各种值,如下所示:
time = 1 cpu = 12 state = 24
time = 2 cpu = 12 state = 4
time = 5 cpu = 13 state = 23
time = 6 cpu = 13 state = 26
time = 8 cpu = 11 state = 34
time = 11 cpu = 12 state = 54
time = 13 cpu = 12 state = 56
time = 14 cpu = 11 state = 58
time = 15 cpu = 15 state = 46
这是这种情况。我从用户那里得到价值 time=2 cpu=12 state =4..我找到了匹配,然后我想查找所有对应于 cpu=12 的值。