Method 1 requires more work and events to refer to the object Hero collided with in any of the subevents, particularly as you get more and more objects.
With method 1 you need to remember to add a new condition whenever a new object is added. Nothing bad, but annoying if you miss it and spend time debugging something you shouldn’t need to.
From a simple test project I made to check the speeds, method 1 is about 2.5 times slower. But we’re talking fractions of a second here - the time differences were only visually noticeable after in loops of more than 1,000 iterations.
Method 2 is cleaner, making it easier to read and maintain.