I've just created a node, and it's 11 years behind in synchronisation. I've added a receive address through the console, and the blockchain recognises this, but I haven't send any coins to this wallet, and it's on a new machine. Google tells me that empty addresses aren't stored on the blockchain, so how does a blockchain explorer know that the address is in use?
Google doesn't run a node and doesn't have a memory pool to comfirm if an address has a balance or not. If you search any blochain Explorer with any address, it will return valid if the address is a Bitcoin standard address, by standard I mean, public key, legacy, p2sh and all Segwit addresses and will give you address history if there has been any transaction in the address.
Ah! I understand. That explains why it lists the address when there isn't a file of addresses.
Most wallet has a pregenerated address as gap limit, I'm not sure the type you are using. Each wallet has their limit, you can always increase the list of addresses. You often see receive address and change address depend on the type of wallet you are using.