Oh, and Joseph, you wrong. A hub can send data from computer to computer but not as efficiently. I'm doing it now. Think of it like this...
Hub - A hub recieves data and thinks to itself. "Hmm, one of the computers on my network is requesting this data... but I dont know which one. So, I'll just send it to all of them and whichever one wants it will keep it and the rest will ignore it."
Switch - A switch recieves data and thinks to itself. "Hmm, one of the computers on my network is requesting this data... and I know exactly which one it is! So, I'll send it to only that computer and save myself some work and time.
Router - A router thinks like a switch, but can also split (or route) one IP address to several computers, avoiding the need to purchase several from the internet provider. In addition a router may have a small hard drive and processor built it, which allows it to hold a firewall software and protect your computer without running the software directly on the computer.