The main city beach, La Barceloneta, has very few topless.  WAY crowded with school kids and too much flotsam, not recommemded.  MUCH better is Casteldefells, just 10 minutes further South past the airport. MUCH better beaches AND eye candy.  On weekends parking a challenge. Go early. 
But...