Most common icons you'll see in the Outliner are also listed neatly in the Add menu (Shift+A in 3D view):
Looking at your screenshot, the circled ones respectively would be: an Empty object, an Armature object, a Mesh object, and a mesh. The orange color indicates that it is an object, whereas green ones represent data-blocks. You can think of an Object as a container that holds relevant data-blocks together. For instance, the "mat_body" object in your scene contains the "mat_body" mesh at the moment. They are named the same, but that doesn't mean they're the same thing: a mesh (a collection of vertices, edges and faces) is only one type of data-block that could be contained by an object. You could assign a material, an animation, or a modifier to that object, and all of them would be listed there with the mesh.
You can learn more about data-blocks in the manual here. Here's a full list of data-blocks available in Blender from that page: