Checking rectangles for arbitrary intersections?

Hi, I was just wondering if there is a way to check a Rectangle to see if anything is intersecting it. I know I can get the Rectangle intersection if you pass in another Rectangle, but I really want to know because right now with my current logic it checks a method every frame, when it could be checking it only if the bounds come in contact with any other bounds. For instance I have this:

Tools.ModifiedTools.addBehavior(tidus,
				new ID.Action(tidus){
					@Override
					public void onCollision(){
						if(Tools.ModifiedTools.checkForCollision(tidus, yuna)){
							Tools.ModifiedTools.setAudio(tidus, 0);
							Tools.ModifiedTools.playAudio(tidus);
							System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
							}
						else if(Tools.ModifiedTools.checkForCollision(tidus, lulu)){
							Tools.ModifiedTools.setAudio(tidus, 1);
							Tools.ModifiedTools.playAudio(tidus);
							System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
						}
					}
				},
				ID.Behaviour.animate,
				ID.Behaviour.playerControlledWASD,
				ID.Behaviour.updateByVelocity,
				ID.Behaviour.updateColliders,
				ID.Behaviour.detectCollisions
				);

and my collision detection method looks like this:

public static boolean checkForCollision(Entity a, Entity b){
			if(a.check(ID.Tag.boundstag)){
				Rectangle collider = Systems.LogicSystem.colliders.get(a.hashCode());
				Rectangle bCollider = Systems.LogicSystem.colliders.get(b.hashCode());
				if(collider.intersects(bCollider)){
					return true;
				}
				return false;
			}
			return false;
		}

Every frame it runs detectCollisions, which calls the method onCollision(). I want to be able to make it so that during detectCollisions, it checks to see if the Entity’s bounds are intersecting or contains any other Rectangle, and only call onCollision() if that returns true, but so far I have found nothing that makes it seem that can be done. Is there no way?