日期:2014-05-20  浏览次数:20781 次

快期末了,真心请教一道期中考试题。
Treemap 那个星期上课没有好好听,现在还不是很理解。这道题目一直都不会,特来请教各位高手。
不知是否是要通过key读取数组然后比较?还是其他方法,望能给出具体code。

谢谢

——————————————————————


编写一个class,使用static method 需要有两个参数:1. 是一个Treemap(从Maps strings 到 Arraylists(ints) )2.是一个String key。 最后返回值需要一个boolean的状态。

public static boolean action(Treemap<String,ArrayList<Integer>> map,String key)
{}

在这个方法中:如果对于key,list中的所有值都大于或者等于0,就返回true
否则返回,false。

如果list是空的,或者对于被给的key没有list 也返回true。

例如:
对于map:{one=[0, 9, 0, 4], three=[-1], two=[4, 0, -2]}

应该返回false。

------解决方案--------------------
Java code

public static boolean action(TreeMap<String,ArrayList<Integer>> map,String key){
        ArrayList<Integer> list = map.get(key);
        // 如果list是空的,或者对于被给的key没有list 也返回true。
        if(list == null || list.size() <= 0){
            return true;
        }
       // 如果对于key,list中的只要有一个<0,就返回false。
        for(Integer i : list){
            if(i < 0){
                return false;
            }
        }
        return true;   
    }