Just wanted to give a feedback on this.
For the simplicity I used HashTable with
String keys (integer agent id's are converted to string and used as key) and even though this is not a professional work (I should rather use Integer keys) I was able to get from 8 to 80 times (depending on the number of agents in my collection) speedup.
It means a simulation which takes 80 seconds with linear search will only need 10 seconds or less now.
I was thinking if I work on the performance (in every section of the 20,000-30,000 lines of code software) I can make huge difference.