When people you work with asks "what's this strange Dictionary class you're using?" you take a deep sigh (internally, not so that they hear it) and explains that "a dictionary is a hash" and then they ask "what is a hash?" and you say "it's something that converts from one type to another, say english words to german words"
It causes conflict no matter what you do so you try to reduce the risk of it. "What is a linked list?" you answer correctly and helpfully "It's like an array it's easy to insert and remove elements from. I've some books at home explaining data structures you might want to borrow?"
It's only when people refuse to take advice that you get the right to be impatient with them. For example, you might review someones code and point out the logical errors in it and if they don't believe you, you might even make a test case which crashes their code. If they then say "well, that's unlikely to happen in production anyway" then you know you're wasting your time with them. Better just let them "sink" on their own.
Btw, have you asked your colleagues for help? Maybe they are introverted and that is why you think they have a rotten attitude? Maybe they aren't as bright as you think because I've never met a great programmer who wasn't always willing to help underachievers.