تمرین: شمارنده

در این تمرین، شما یک ساختار داده بسیار ساده را به‌صورت generic خواهید کرد. این ساختار از std::collections::HashMap برای پیگیری اینکه چه مقادیری مشاهده شده‌اند و هرکدام چند بار ظاهر شده‌اند، استفاده می‌کند.

نسخه اولیه Counter به‌طور سخت‌افزاری برای مقادیر u32 کدگذاری شده است. ساختار و متدهای آن را به‌صورت generic بر اساس تایپ مقداری که در حال پیگیری است، تغییر دهید، به‌طوری که Counter بتواند هر تایپ مقداری را پیگیری کند.

اگر زود تمام کردید، سعی کنید از متد entry استفاده کنید تا تعداد جستجوهای هش مورد نیاز برای پیاده‌سازی متد count را به نصف کاهش دهید.

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX