我需要批处理具有类似客户端ID的元素(字符串类型,但目前只有数字值,例如" 12345"," 235134"等等)
Map<String, List<Client>> _batched = new HashMap<String, List<Client>>();
for (Client c : _Clients)
{
String id = c.getIdClient();
List<Client> clients = _batched.get(id);
if(_clients == null){
clients = new ArrayList<Client>();
_batched.put(id, clients);
}
clients.add(c);
}
问题在于,当我将此函数与Excel(=SUM(IF(FREQUENCY(C2:C618,C2:C618)>0,1))
)的结果进行比较时,我会得到不同的结果,即526和519.
我的代码有问题吗?
答案 0 :(得分:0)
你的问题在这里:
String id = c.getIdClient();
List<Client> _clients = _batched.get(id);
if(_clients == null){
pois = new ArrayList<Client>();
_batched.put(id, _clients);
}
_clients.add(c);
您在名为pois
的变量中创建一个新数组,但随后将变量_clients
的内容放入_batched
。放入pois
的值会发生什么?
我不明白为什么它实际上没有空指针异常。