Switch eliminated collisions. But what about
Solution 1:
A collision can only occur when two nodes try to send data on the same shared channel at the same time. Typically, links to switches are full-duplex with no shared channels. So a collision is impossible.
If two devices are both sending frames at high speed to a single device, you can certainly reach a situation where the switch cannot fit all that traffic on the outbound port. But the result will not be collisions. The result will either be dropped frames or pauses, depending on the capability and configuration of the switch and the devices. Some switches and some Ethernet devices support a 'pause' frame that can be sent that tells them that the switch cannot accommodate their traffic at that time.
Solution 2:
One thing to keep in mind here is that almost most switches these days work on a store and then forward principle. Unlike with a hub, there is not direct connection between the transmitter and the receiver.
When a frame is received it is stored in to memory on the switch. The switch makes a decision transmit it out, and then it is transmitted, when that port is not busy. Since it is the switch that is transmitting the frame, it is smart enough to not try to send two frames at the same time.
Basically, you jsut have to think of it like any standard queue.