You see, I have always had VERY long hair (to the bottom of my butt), and its naturally curly to top it off (kinda like a spiral perm look) so that adds to the problem of swimming (whether in a pool, lake, ocean... doens't matter)! So... here is what I do and it works well.
1) take a shower and condition hair (rinse but not fully)
2) brush out hair and put in a high pony tail (with an elastic band)
3) Braid hair in pony tail (I use a fishtail braid but any will work)
4) Tie end of braid with elastic band (or blackies) and tuck end of braid under the first elastic band (the one in step #2)
5) put a scrunchie around base of pony/braid to look "prettier"
6) use a (?neoprene?) cover on the back of your mask strap for easy on and off
7) take braid and pony out, wash and condition hair
Hope this helps

Also, the braid stays tight while diving and will look fine if you can't get to a shower right away...

Have fun, be safe and stay wet!