Hm...: woher weiß ich welches java werkzeug wieviel laufzeit verbrauch

Beitrag lesen

hi leute,

ich habe gerade erstaunt festgestellt, dass der contains-befehl einer arraylist viel mehr laufzeit verbraucht, als der containskey-befehl einer hashmap.

könnt ihr mir sagen wie ich generell herausfinden kann, wieviel laufzeit das ausführen einer methode eines bestimmten java objekts benötigt? (hierbei meine ich java objekte die von den entwicklern von java erstellt wurden, nicht meine eigenen objekte)

beispiel:
ArrayList und HashMap haben beide die funktion contains bzw. containskey

der folgende code läuft mit einer hashmap:

HashMap<String,Strin> eids = new HashMap();

sehr schnell und mit einer:

ArrayList<String> eids = new ArrayList();

sehr langsam

  
for(int i=0; i<list.size(); i++)  
		{  
			if(eids.containsKey(list.get(i)[0]))  
				newlist.add(list.get(i));  
		}  

könnt ihr mir sagen wie ich sowas herausfinden kann, ohne das erst im programm testen zu müssen? gibt es eventuell irgendwo eine passende laufzeitübersicht?