I am mom to 2 4-year olds. Consistency and follow-through are key to getting results. Set your expectations for their behavior and then absolutely follow through if they don't met those expectations (do NOT give in!!). For example, before you go out to the store, tell them how you expect to behave and what they can expect if they do or don't - i.e. if we get through grocery shopping without a tantrum or fighting, you will get to have that playdate you wnated with your friend (or whatever incentive works for him/her) If I hear fighting or screaming, I will take away (whatever is important at the moment - for my daughter it's shoes or a dress that she likes to wear). Then, do what you promised, based on their behavior.
Also, involve them in the thing you're doing - if it's grocery shopping, let them help you find the things on the list or things that they might like to eat (not junk food) My kids like drinkable yogurt. Sometimes, I just get 2 and let them drink them while we shop (pay for them later, of course).
Also, DO NOT let yourself get drug down into their drama - at home or when you're out. When my daughter starts to demand something, I simply state my position, tell her that's the way it's going to be and then walk away. Don't engage with them. You're the adult. State the rule and be firm. If they say "no" to a reuqest to do something - i.e. pick up their toys or whatever, do not let them do anything else until they have done what you asked. Just say "OK, that's fine- I'll just be over here in my room folding laundry until you decide to do {x}" You can't force them to do anything, but you can prohibit them from doing anything else until they comply.
Remember, it will only get harder as they get older to set rules and boundaries, so please start now - it will be easiser on all of you!