Tôi muốn tạo biểu đồ bằng cách sử dụng HashMap
, khóa phải là độ trễ, giá trị số lần trễ này xảy ra. Tôi nghi ngờ sử dụng chức năng HashMap
replace
hoặc HashMap
put
nếu độ trễ hiện có có sự xuất hiện mới.Sự khác biệt giữa thay thế và đặt cho HashMap
tôi đã làm nó bằng cách này
int delay = (int) (loopcount-packetServed.getArrivalTime());
if(histogramType1.containsKey(delay))
{
histogramType1.replace(delay, histogramType1.get(delay)+1);
}
else
{
histogramType1.put(delay, 1);
}
là đúng này? hoặc tôi nên sử dụng hai lần hàm put?
[Thay] (https://docs.oracle.com/javase/8/docs/api/java/util/HashMap .html # replace-KV-) "Thay thế mục nhập cho khóa được chỉ định nếu nó hiện được ánh xạ tới một số giá trị" –
Vì vậy, tôi nên giữ giải pháp thay thế? – StudentX
Nó không quan trọng trong trường hợp đó vì nếu phần tử tồn tại, nó sẽ có kết quả tương tự như 'put' anyways - vì' containsKey' được sử dụng 'replace' chỉ được gọi nếu có ánh xạ. – Thomas