what is best way to model many-to-many relationship?
lets say we have a two classes , Team and Player
IMHO what you describe is the "natural" way for OO. Your XXX.getXXXList() is the interface to your classes. And for a limit number of classes that would be the right way.
Consider there are 1000 classes that can be "interconnected". Than it may be interesting to have some ManyToManyManager to drop in an object, add another object to the related objects of an object and retrieve the list of all objects releated to another. That would be some sort of delegation vs. implementation.
Shure if you delegate your many-to-many to another instance your object model do not reflect that many-to-many relation anymore.