Use the field describe result's getMap method to return a map that represents the relationship between all the field names (keys) and the field tokens (values) for an sObject.
Map<String, Schema.SObjectField> fieldMap = Schema.SObjectType.Account.fields.getMap();
The map has the following characteristics:
All field names are case insensitive.
While the documentation for Maps says:
Map keys of type String are case-sensitive.
Is the field describe result map a special type of Map? It's quite frustrating to have one type of Map in apex to behave differently.