找不到适合于add(long)的方法

时间:2019-05-09 05:17:31

标签: java list types hashmap

找不到适合于add(long)的方法!

我知道此问题是由于使用Long和Long而引起的,但是- 当我想在某些编码问题中使用x和y数组时,如何解决此问题!

Scanner sc=new Scanner(System.in);
int T=sc.nextInt();
for(int it=0;it<T;it++){
    int N=sc.nextInt();
    long x[]=new long[N];//////
    long y[]=new long[N];//////

    HashMap<Long,List<Long>> hh=new HashMap<>();////////////
    for(int i=0;i<N;i++){
        x[i]=sc.nextLong();///
        y[i]=sc.nextLong();///
        List<Long>ll=new ArrayList<>();////
        if(hh.get(x[i])==null){
            ll.add(y[i]);//*error
            hh.put(x[i], ll);//*error
        }else{
            ll=hh.get(x[i]);
            ll.add(y[i]);//*error
            hh.put(x[i], ll);//*error
        }
    }
}

1 个答案:

答案 0 :(得分:0)

最终得到了解决方案:-java.lang.Long解决了这个问题,但仍然不知道原因。

HashMap<java.lang.Long,List<java.lang.Long>> hh=new HashMap<>();////////////
for(int i=0;i<N;i++){
    x[i]=sc.nextLong();///
    y[i]=sc.nextLong();///
    List<java.lang.Long>ll=new ArrayList<>();////
    if(hh.get(x[i])==null){
        ll.add(y[i]);//*error
        hh.put(x[i], ll);//*error
    }else{
        ll=hh.get(x[i]);
        ll.add(y[i]);//*error
        hh.put(x[i], ll);//*error
    }
}